es6 数组的新增所有的方法,解构,拓展运算符

1.数组的新增方法:

1)Array.from() 伪数组 转换成真数组:

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
<script>
    let _ul = document.querySelectorAll('ul>li');

    let array = Array.from(_ul);

         console.log(array);

        for (const key in array) {
            console.log(key);
           }

</script>

2)Array.of()  组成新数组:

<script>
        let array = Array.of(1,2,3);

        let array = new Array(1,2,3);

         console.log(array);
</script>

3)Array.includes()查询数组中是否存在这个值:

<script>
        console.log(
             [1,2,3].includes(12)
        );
         console.log(
             [1,2,3,NaN].includes(NaN)
        );

</script>
说明:存在返回true 不存在返回false  indexOf 查不到 NaN  includes 可以

<script>
        console.log(
             [{
                 name :'文丁响'
             }].includes({
                 name:'文丁响'
             })
         );

</script>
说明: indexOf和includes两个都不能查找对象的值

2.数组的解构:

1)解构:

解开目标的结构

2)完全结构:

<script>
        let [temp1,temp2,temp3] = [1,2,3];

        console.log(temp1,temp2,temp3);

        // temp1 对应的是 [1,2,3][0]
        // temp2 对应的是 [1,2,3][1]
        // temp3 对应的是 [1,2,3][2]
</script>

3)不完全解构:

如果解构的变量名少于数组的值,这种解构方式称为不完全解构

3.数组的拓展运算符:

1)数组的拓展运算符:

...

2)合并数组:

<script>
        let arr = [1, 2, 3];
        let newArr = ['a', 'b', 'c', 'd'];

        //普通方式
        let array = arr.concat(newArr);

        //拓展运算符
        let array = [...arr,...newArr]
</script>

3)复制数组:

<script>
        let arr = [1, 2, 3];

        let array = [...arr];
        array[0] = 'a';

        console.log(array);//['a', 2, 3]
        console.log(arr);//[1, 2, 3]
</script>
说明:拓展运算符的复制是深拷贝,改变不会影响原来的值

4)数组的迭代:

1)map:用回调函数 ,组建新的数组

<script>
        let arr = [1,2,3,4,5,6,7,8,9];
        let newArr = arr.map((item,index) => {
    
            return item + '文丁响'

        })
        console.log(newArr);
</script>

输出结果:

2) filter:用回调函数,过滤掉不需要的数组里面的值,符合返回值的条件的相应的数组值,组建成新的数组

<script>
        let arr = [1,2,3,4,5,6,7,8,9];

        let array = arr.filter((item,index)=>{
            return item >= 4
        })
        console.log(array);
</script>

输出结果:

3)some :判断数组里面,只要有一个值满足条件,就返回TRUE,返回的是布尔值

<script>
        let arr = [1,2,3,4,5,6,7,8,9];

        let array = arr.some((item)=>{
                return item > 8
           })

           console.log(array);
</script>

输出结果:true

4)every:判断数组里面,所有的值是否都满足条件,都满足返回true,只要有一个不满,就返回false

<script>
        let arr = [1,2,3,4,5,6,7,8,9];
        
           let array = arr.every((item)=>{
               return item > 0
           })
           console.log(array);
</script>

输出结果:true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值