解构赋值
let [a,b,c]=[1,2,3];
console.log(a, b, c);//1,2,3
注意
- 左右两边结构必须一样
let [a,b,n1,n2,n3,num, str]=[{a: 12, b: 5}, [12,5,8], 8, 'ghshg'];
let [json, arr, num, str]=[{a: 12, b: 5}, [12,5,8], 8, 'dgdf'];
例如:右边既不是数组,也不是json
let {a,b}={12,5}; X
声明和赋值不能分开(必须在一句话里完成)
let [a,b]; [a,b]=[12,5]; X
数组
map
- 映射(一个对一个)
- 有返回值
- 栗子
-
[12, 58, 99, 86, 45, 91]
[不及格, 不及格, 及格, 及格, 不及格, 及格]
-
[45, 57]
[ {name: 'blue', level: 0, role: 0}, {name: 'zhangsan', level: 99, role: 3}]
-
let score=[19, 85, 99, 25, 98];
let result=score.map(function (item){
return item*2;
});
alert(score);
alert(result);
reduce
- 汇总(一堆出来一个)
- 总数
[12, 20, 500] => 532
let arr=[12,69,180,8763];
let result=arr.reduce(function (tmp, item, index){
//alert(tmp+','+item+','+index);
return tmp+item;
});
alert(result);
- 平均数
[12, 59, 99] => 56.67
let arr=[12,69,180,8763];
let result=arr.reduce(function (tmp, item, index){
if(index!=arr.length-1){ //不是最后一次
return tmp+item;
}else{ //最后一次
return (tmp+item)/arr.length;
}
});
alert(result);
filter
过滤器
let arr=[
{title: '男士衬衫', price: 75},
{title: '女士包', price: 57842},
{title: '男士包', price: 65},
{title: '女士鞋', price: 27531}
];
let result=arr.filter(json=>json.price>=10000);
console.log(result);
- [ ] 筛选信息
forEach
- 循环(迭代)
- 没有返回值
let arr=[12,5,8,9];
arr.forEach((item,index)=>{
alert(index+': '+item);
});