本文总结了ES6中的数组6个方法:find
、filter
、every
、some
、includes
、reduce
如果需要javascript中的数组的方法,请点击这个链接;里面包含15种数组的方法和小例子,简单易懂;
不改变原数组
;let arr = [1,23,4,56];
let a = arr.find((item,index)=>{
console.log("item",item);
console.log("index",index);
return item >20; //返回true,说明就找到了;
})
console.log("a",a);
不改变原数组
;let arr = [1,23,4,56];
let b = arr.filter((item,index)=>{
console.log("item",item);
console.log("index",index);
return item>20;
//根据回调函数的返回值,返回true就留下,返回false,就不要;
})
console.log("b",b);
不修改原数组
;let e = arr.every((item,index)=>{
console.log(19);
return item>13;
})
console.log(e);
不修改原数组
;let arr = [1,23,4,56];
let d = arr.some((item,index)=>{
console.log("item",item);
console.log("index",index);
return item > 20;
})
console.log("d",d);
不修改原数组
;let arr = [12,3,45,6,78];
console.log(arr.includes(45)); //true
不修改原数组
;let arr = [12,3,45,6,78];
let a = arr.reduce((prev,next)=>{
// prev : 第一次代表数组的第一项,以后都代表上一次回调函数的返回值;
console.log(prev,next);
// return prev +next;
return 100;
},100); //arr数组变为[100,12,3,45,6,78];
console.log(a);
let arr = [{count:3,price:10},{count:2,price:20},{count:6,price:12}];
/*let s = arr.reduce((prev,next)=>{
if(typeof prev==="number"){
return prev+ next.count*next.price;
}else{
return prev.count*prev.price + next.count*next.price;
}
})*/
let s = arr.reduce((prev,next)=>{
return prev + next.count*next.price;
},0);
console.log(s);
reduce可以拼接数组
let ee = [[12,3,45,6],[7,88],[9]].reduce((prev,next)=>{
return prev.concat(next);
})
//[12,3,45,6,7,88,9]