数组中的find、filter、forEach、map 区别
find():返回通过测试的数组的第一个元素的值
var arr = [1,2,3,4,5,6,7]
var num = arr.find(item=>{
return item>=5
})
console.log(num) //5
filter(): 创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
var arr = [1,2,3,4,5,6,7];
var ar = arr.filter(function(elem){
return elem>5;
});
console.log(ar); //[6,7]
console.log(arr); //[1,2,3,4,5,6,7]
map():返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,map()方法按照原始数组元素顺序依次处理元素
var arr = [1,2,3,4,5,6,7];
var ar = arr.map(function(elem){
return elem*4;
});
console.log(ar);//[4, 8, 12, 16, 20, 24, 28]
console.log(arr);//[1,2,3,4,5,6,7]
forEach():用于调用数组每个元素,并将元素传递给回调函数(注意没有办法跳出或终止forEach语句,除非抛出异常)
var b = [1,2,3];
b.forEach(function(item,index,arr){ arr[index] = item*100; }); console.log(b); //[100, 200, 300]
浙公网安备 33010602011771号