今天我们来详细说说JS里的七个迭代方法;
举个栗子:
var watermelons= [{ id: '1001', weight: 50 },
{ id: '1002', weight: 80 },
{ id: '1003', weight: 120 },
{ id: '1004', weight: 40 },
{ id: '1005', weight: 110 },
{ id: '1006', weight: 60 }];
forEach()
语法watermelons.forEach(function(){ })
var num = watermelons.forEach(function (item, index, array) {
item.weight+=50;
console.log(item);//不支持return,没有返回值,加上return也没效
});
filter()
看名字就知道是筛选的意思
watermelons.fliter(function(){ })
语法
var num =watermelons.filter(function (item, index, array) {
return item.weight > 100;
})
console.log(num);
some()
找到符合条件的并返回布尔值
var num = watermelons.some(function (item, index, array) {
return item.weight>100;
})
console.log(num);//只要有一个符合就会返回true
every()
找到符合条件的并返回布尔值,必须是所以的是true才是true
var num = watermelons.every(function (item, index, array) {
return item.weight>100;
})
console.log(num);//都符合返回true
map()
var num =watermelons.map(function (item, index, array) {
return item.weight>100;//把所有的结果返回一个数组
})
console.log(num);
find()
找到符合的项就返回,
var num =watermelons.find(function (item, index, array) {
return item.weight>100;//找到符合就会返回 返回找到的内容
})
console.log(num);
findindex()
找到符合的项就返回, 返回其下标
var num =watermelons.findIndex(function (item, index, array) {
return item.weight>100;//找到符合就会返回 返回找到的内容所在的下标//2
})
归并方法
reduce()从数组第一项开始遍历到最后
var arr = [1, 2, 3, 4, 5, 6];
var newarr = arr.reduce(function (prev, nows, index, array) {
return prev + nows;
})
console.log(newarr);
如何用forEach()求和
var arr = [1, 2, 3, 4, 5, 6];
var sum=0;
arr.forEach(function (item) {
return prev + nows;
})
console.log(newarr);
网友评论