es6数组语法(待更新)

       1.forEach  不改变原数组,也没有返回值
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       arr.forEach((item, index) => {
         item.name = "jack";
       });
       console.log(arr);

       2.map  不改变原数组, 返回一个新数组
       var arr = [1, 2, 3, 4];
       let arr1 = arr.map((item, index, arr) => {
         return item * 10;
       });
       console.log(arr, arr1);

       3.filter  不改变原数组,返回一个过滤后的新数组
       var arr = [1, 2, 3, 4];
       const res = arr.filter(item => item >= 3);
       console.log(res);

       4.some  遍历数组, 如果筛选条件存在,就返回true,否则返回false
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       let arr1 = arr.some( (item,index) => item.id === 4);
       console.log(arr1);

      5.every 遍历数组, 如果筛选的条件里,每一项返回的都是true, 最终结果为true。 有一项为false,最终结果就喂false
       var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
       let arr1 = arr.some( (item,index) => item.id === 4);
       console.log(arr1); 

      6.findIndex 返回符合条件的值的第一个索引
        var arr = [{ id: 1 }, { id: 2 }, { id: 3 }];
        const index = arr.findIndex(item=> item.id ===1)
        console.log(index);


练习:

1.要求以boolean的形式返回字符串参数中是否包含数字。

    本题tip:isNaN(value)可以判断value是否为NaN,不是就返回false,是就返回true
         parseInt(value),如果可以转化为数字,就返回数字,不可以转化为数字,就返回NaN

    function _search(string) {
        let arr = [...string]
        const res =  arr.some(item=> isNaN(parseInt(item)))
        return res //返回true或者false
    }

2.移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
    
    function remove(arr, item) {
        return arr.filter(value => value != item)
    }

3.移除数组 arr 中的所有值与 item 相等的元素。直接修改原数组
    function removeWithoutCopy(arr, item) {
   
        for(var i=0;i<arr.length;i++){
            if(arr[i] === item){
            arr.splice(i,1)
                i-- //这个是重点,删除后,数组长度会变短 所以需要--
            }
        }
        return arr   
    }
4.在数组末尾添加一个item,并且返回新数组。
    function append(arr, item) {
        return [...arr,item]
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值