标签:let 默认 这一 多维数组 cat 参数 fine 字符串类 put
filter:过滤,不操作原数组,返回过滤后的数组,返回true ,这一项就放到新数组
一般用于删除
let newAry=[3,5,2,8,9,4,0].filter(function (item){ return item>2 && item<5 }) console.log(newAry);//[3、4]
forEach :循环,没有 return 返回值
let arr = [2,4,5,7,1]; arr.forEach(function (item){//声明式,不关心如何实现 console.log(itme); })
for(let i=0; i<arr.length;i++){//编程式
console.log(arr[i]);
}
for(let key in arr){//key会变成字符串类型
}
for(let val of arr){}//支持return,并且是值of数组,不能遍历对象
面试题:forEach、for、for in,for of的区别
for in 能打印数组的私有属性
for of 支持return,不能遍历对象
includes (ES6):查看数组是否包含,返回boolean类型
let arrf = [2,5,7,9];
arrf.includes(5);
find(ES6):找到具体的那一项,不改变原数组,返回true 表示找到了,找到就结束循环,找不到返回undefined
//需求:找到用户名
let resule = arr3.find(function(itme,index){ return itme == ‘xxx‘ })
console.log(resule);//xxx
keys:方法返回一个包含数组中每个索引键的Array Iterator
对象。
var array1 = [‘a‘, ‘b‘, ‘c‘]; var iterator = array1.keys(); for (let key of iterator) { console.log(key); // expected output: 0 1 2 }
map:映射 ,将原有的数组映射成一个新数组,不操作原数组,返回新数组,回调函数中返回什么这一项就是什么
一般用于更新,修改
//需求[1,2,3]变成 <li>1</li><li>2</li><li>3</li>
let arr1 = [1,2,3].map(function (item){
return `<li>${itme}<li>`//es6中的模板字符串,遇到变量使用${}取值
})
console.log(arr1.join(‘‘));
reduce :收敛,4个参数,返回叠加后的结果,原数组不变,回调函数返回
let some=[1,3,4,5].reduce(function (prev,next,index,item){//第一项,第二项,索引,原数组
console.log(prev,next);
return prev+next
})
console.log(some);
//计算多维数组
let some2=[{pirce:30,count:2},{pirce:50,count:2},{pirce:40,count:2}];
let some3=some2.reduce(function (prve,next){
return prve+next.pirce*next.count;
},0)//0是默认指定第一次的prve
console.log(some3);//240
//多维数组变成一维数组
let some4 = [[1,2,3],[4,5,6],[7,8,9]];
let some5 = some4.reduce(function (prve,next){
return prve.concat(next);
})
console.log(some5);//[1,2,3,4,5,6,7,8,9]
some :找到返回turn,找到true后停止,找不到返回false
every:找到false后停止,找到返回false
标签:let 默认 这一 多维数组 cat 参数 fine 字符串类 put
原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11426580.html