数组的扁平化

数组对象的方法
数组扁平化不是一个具体的方法,而是通过具体的方法来达成的效果

  let arr = [
        ["哈哈",18],
        ["哈哈",18],
        ["哈哈",18],
        ["哈哈",18],
        ["哈哈",18,["哈哈",17,["哈哈",18]]]
    ];
    arr = arr.flat(3);
    console.log(arr);// ["哈哈", 18, "哈哈", 18, "哈哈", 18, "哈哈", 18, "哈哈", 18, "哈哈", 17, "哈哈", 18]
      console.log(arr.flat(Infinity));

flat(): 将多层数据,处理成一层
参数: 处理层数
未知层数的情况下: infinity–无限

flatMap(): 处理扁平化数组
因为它只能处理一层数组

     arr = arr.flat(Infinity);  
     //使用flat()处理为一层后,再使用filter()过滤,会无法找到
    console.log(arr);  
    let newArr = arr.flatMap((item,index)=>{  
        item = item.filter((item,index)=>{
             return index == 0;
        });
        return item;
    });
    console.log(newArr);//  ["哈哈","哈哈","哈哈","哈哈","哈哈"]
   // let ageArr = arr.flatMap((item,index)=>{
        item = item.filter((item,index)=>{
            // if(index == 1){
            //     return item;
            // }else{
            //     return;
            // }
            return index == 1;
        });

        return item;
    });
    console.log(ageArr);[18,18,18,18,18]

数组 find()方法: 返回第一个满足条件的值

  let arr_two = [1,2,3,4,5];
     let val = arr_two.find((item,index)=>{
             if(item > 1){
                 return true;
            }
          
     })
  console.log(val)//1

简写的方式

    let val = arr_two.find(item=>item>3);
    console.log(val);//4

findIndex(): 返回第一个满足条件的值 的索引(下标)

fill() : 向指定数组填充指定的数据,覆盖原有数据。 覆盖的范围可以控制,默认是全部

   let arr_three = ["a","b","c","d","e","f","g","z"];
    arr_three = arr_three.fill("v",1,4); // 位置: 包头 不包尾
    console.log(arr_three);// ["a", "v", "v", "v", "e", "f", "g", "z"]

includes(): 判断是否包含一个指定的值
参数1:指定的值
参数2:指定位置(从指定的位置之后,开始查找)

console.log(arr_three.includes("v",3));    //true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值