ES6数组

作者: 简小园 | 来源:发表于2019-07-11 19:28 被阅读0次

解构赋值

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);
});

相关文章

网友评论

      本文标题:ES6数组

      本文链接:https://www.haomeiwen.com/subject/lqwckctx.html