传参三种:
https://blog.csdn.net/Wave_explosion/article/details/121999104
**
1.forEach()
**
forEach会遍历数组, 没有返回值, 不允许在循环体内写return, 不会改变原来数组的内容.forEach()也可以循环对象。
let array = [1,2,3,4];
array.forEach((item, index, array) => {
console.log(item);
});
**
2.filter()
**
filter 会过滤掉数组中不满足条件的元素, 把满足条件的元素放到一个新数组中, 不改变原数组
let array = [1, 2, 3, 4];
let temp = array.filter((item, index, array) => {
return item > 3;
});
console.log(temp); // [4]
console.log(array); // [1, 2, 3, 4]
**
3.map()
**
let array = [1, 2, 3, 4];
let temp = array.map((item, index, array) => {
return item * 10;
});
console.log(temp); // [10, 20, 30, 40];
console.log(array); // [1, 2, 3, 4]
map 遍历数组, 会返回一个新数组, 不会改变原来数组里的内容
**
4.reduce()
**
let array = [1, 2, 3, 4];
let temp = array.reduce((x, y) => {
console.log("x,"+x);
console.log("y,"+y);
console.log("x+y,",Number(x)+Number(y));
return x + y;
});
console.log(temp); // 10
console.log(array); // [1, 2, 3, 4]
x 是上一次计算过的值, 第一次循环的时候是数组中的第1个元素
y 是数组中的每个元素, 第一次循环的时候是数组的第2个元素
**
5.every()
**
every遍历数组, 每一项都是true, 则返回true, 只要有一个是false, 就返回false
let array = [1, 2, 3, 4];
let bo = array.every((item, index, array) => {
return item > 2;
});
console.log(bo); // false;
**
6.some()
**
遍历数组的每一项, 有一个返回true, 就停止循环
let array = [1, 2, 3, 4];
let temp = array.some((item, index, array) => {
return item > 5;
});
console.log(temp); // false
**
以上为常用新方法
7.for循环
**
for(j = 0,len=arr.length; j < len; j++) {
}
**
8.forof遍历
**
可以正确响应break、continue和return语句
for (var value of myArray) {
console.log(value);
}
**
9.find
**
find()方法返回数组中符合测试函数条件的第一个元素。否则返回undefined
var stu = [
{
name: '张三',
gender: '男',
age: 20
},
{
name: '王小毛',
gender: '男',
age: 20
},
{
name: '李四',
gender: '男',
age: 20
}
]
function getStu(element){
return element.name == '李四'
}
stu.find(getStu)
//返回结果为
//{name: "李四", gender: "男", age: 20}
ES6方法
stu.find((element) => (element.name == '李四'))
解构赋值 :
https://blog.csdn.net/Wave_explosion/article/details/121850521?spm=1001.2014.3001.5501
cookei:
https://blog.csdn.net/Wave_explosion/article/details/118613794