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