1.forEach方法
var arr = [10, 20, 30, 40, 50];
arr.forEach((item, index) => {
console.log(item);
console.log(index);
})
解析:
item:代表数组中的没一项
index:代表数组中的索引
forEach没有返回值,返回值是underfined
2.fiflter()过滤数组
var arr = [10, 20, 30, 40, 50];
var newArr = arr.filter((item) => {
return item >= 30
});
console.log(newArr); //[30, 40, 50]
console.log(arr); // [10, 20, 30, 40, 50]
解析:返回的结果是一个新的数组,原数组并没有变化
3.some方法
作用:some方法返回的是一个布尔值,如果查找到返回的是true,没有查找到返回的是false
var arr = [10, 20, 30, 40, 50];
var flag = arr.some((value) => {
return value === 60
})
console.log(flag);
console.log(arr); //[10, 20, 30, 40, 50]
解析:如果查找到第一个满足条件的元素就不在进行查找 ,对原数组也没有改变
4.map()方法
map 遍历数组,生成新的数组, 将数组的每一个元素拿出来处理完成之后在放回去;
var arr = [1, 2, 3];
var cc = arr.map(num => num > 10 ? num : '0' + num);
console.log(cc);
console.log(arr);
解析:返回的是改变内容的新数组,原始数组不会改变
5.reduce() 方法
var arr = [1, 2, 3];
var cc = arr.reduce((add, val, index, arr) => add + val, 0);
console.log(cc); //6
解析:reduce主要是为了对所有数组进行累加,最后返回一个值,不改变原数组
6.js中filter()和map()方法的区别
filter()方法是根据一定的条件对原数组长度进行过滤返回一个新的数组,只改变原数组的长度,不会改变原数组的内容。
map()方法是根据一定的条件对原数组内容进行处理返回一个新的数组,不会改变原数组的长度,只改变原数组的内容。
方法的总结: 要给元素添加内容使用Map(),要对数组进行过滤使用filter()