for循环,for...in for...of foreach find findIndex filter map indexOf some every区别

2023-11-20 20:50

本文主要是介绍for循环,for...in for...of foreach find findIndex filter map indexOf some every区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

包含10个循环遍历详细使用,以及总结,区分

1、fro...in

这里的循环体 i 循环的是对象的,而想要获得值那就arr[键]

:值

name:‘张三’

age:24

----------

所以我们在对象的时候选用for...in合适

const arr1 = { name: '张三', age: 24 }for (let i in arr1) {console.log(arr1[i]);
}console.log('打印结果如下-----------');张三
24

2、for...of

const arr1 = [1, 2, 3, 4]for (let i of arr1) {console.log(i);
}
console.log('打印结果如下------------');
1
2
3
4

 3、forEach

 

const arr1 = ['牛二', '张三', '李四', '王五']
// 只针对数组// 简写
arr1.forEach(e => {console.log(e);
});// forEach方法中的function回调有三个参数:
// 第一个参数是遍历的数组内容,
// 第二个参数是对应的数组索引,
// 第三个参数是数组本身
arr1.forEach((value, index, arr) => {console.log('value是: ' + value + ' ---- ' + 'index是: ' + index + ' ---- ' + 'arr是: ' + arr);
})

4、find

const arr1 = ['牛二', '张三', '李四', '王五']
const s = '李四'let res = arr1.find((e) => {return s === e
})
console.log(res);// 满足条件的第一个数组元素,返回元素本身,
// 代码运行到  李四  触发立刻中止遍历

5、findIndex

 

const arr1 = ['牛二', '张三', '李四', '王五']
const s = '李四'let res = arr1.findIndex((e) => {return s === e
})
console.log(res);
// 该方法和find方法类似,凡是区别是返回的是满足条件的第一个元素的下标
// 李四 在数组中的下标是2,所以返回2

 6、filter

 

const arr1 = [1, 2, 3, 4, 5, 6, 7]
const s = 5let res = arr1.filter((e) => {return s <= e
})
console.log(res);// 返回一个全新的数组,数组是包含满足条件的所有元素

 7、map

const arr1 = [1, 2, 3, 4, 5, 6, 7]let res = arr1.map((e) => {return e * 2
})
console.log(res);

 8、补充indexOf

 

const arr1 = 'AasfdsgsDtsdgw'console.log(arr1.indexOf('A'));
console.log(arr1.indexOf('a'));
console.log(arr1.indexOf('t'));// 严格区分大小写

9.补充some

 

const arr1 = [1, 2, 43, 5, 67]const res = arr1.some(i => i < 10)console.log(res);// 这里需要注意回调函数必须为简写,亲测不用简写不生效,原因作者也不知道,

10、补充every

11、补充reduce

 

总结:

for...in

        可以改变原数组

        多用于对象,

for...of

        可以改变原数组

        只能用于数组

总结for...in和for...of就是对象用in数组用of

forEach(有名增强for循环)

        可以改变原数组

        多用于需要操作数组多个属性的时候

find

        不改变原数组,

        带有返回值(返回满足条件的第一个元素本身);触发条件后立刻终止

        搭配forEach方法可以做数组去重操作

findIndex

        不改变原数组

        带有返回值(返回满足条件的第一个元素下标);触发条件后立刻终止

filter

        不改变原数组

        返回新数组,不会改变原数组(返回满足条件的所有元素);

map

        不会改变原数组

        返回一个新数组,(获取对数组所有元素进行操作后的新数组)

        但是会浪费内存空间

// 补充特殊的带有循环的方法

indexOf

        针对字符串,没有返回值返回-1,严格区分大小写

        返回指定的字符串值在字符串中首次出现的位置

some

        不改变原数组

        返回数组是否包含某个元素

        返回一个布尔值:如果为true立刻终止循环

        强烈不推荐使用

        回调函数必须为简写,原因暂时不知道

every

        不改变原数组

        返回数组所有元素是否都满足条件

        返回一个布尔值:

        强烈不推荐使用

        回调函数必须为简写,原因暂时不知道

​​​​​​reduce

        常用来数组求和

        有返回值,又初始值,可以传递4个参数

some&ecery的两个问题有人知道的话可以留言给作者

这篇关于for循环,for...in for...of foreach find findIndex filter map indexOf some every区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397352

相关文章

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Java 8 Stream filter流式过滤器详解

《Java8Streamfilter流式过滤器详解》本文介绍了Java8的StreamAPI中的filter方法,展示了如何使用lambda表达式根据条件过滤流式数据,通过实际代码示例,展示了f... 目录引言 一.Java 8 Stream 的过滤器(filter)二.Java 8 的 filter、fi

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons