zoukankan      html  css  js  c++  java
  • javascript --数组forEach()、forIn()、forOf()、filter()、map()、include()、find()、some()、every()、reduce()

    forEach():不支持return,声明式(不关心如何实现)

    let arr = [1,2,3,4,5];
    arr.forEach(function (item) {
       console.log(item); 
    })

    forIn():key 会变成字符串类型,包括数组的私有属性

    let arr = [1,2,3,4,5];
    for(let key in arr) {
                console.log(key);
            }

    forOf():支持return,break,continue,并且是值 of 数组(不能遍历对象)

    let arr = [1,2,3,4,5];
    for(let val of arr) {
                console.log(val);
            }

    filter():过滤   不操作元数组    返回结果:返回过滤后的新数组     回调函数的返回结果:true 放到新数组 否则不返回结果

    let newAry = [1,2,3,4,5,6,7].filter(function(item){
                return item > 4;
            })
            console.log(newAry);

    map():映射  不操作原数组 返回心得数组  回调函数:返回什么就是什么

    let arr1 = [1,2,3].map(function(item){
                // return item * 2;
                return `<i>${item}</i>`;//   `` 是es6中的模版字符串 遇到变量用 ${} 取值
            });
            console.log(arr1.join(","));

    include(): 返回的是布尔类型

    let arr2 =[1,2,3,4,55,555];
        console.log(arr2.includes(5));

    find(): 返回找到的那一项 不会改变原数组 回调函数返回true表示找到了 便停止循环 找不到返回 undefined

    let arr3 = [1,2,3,4,5];
    let result = arr3.find(function(item,index){ return item.toString().indexOf(5)>-1; }) console.log(result);
    some(): 找true 找到true后停止 返回true 找不到返回false
    let arr3 = [1,2,3,4,5];
    let result1 = arr3.some(function (item,index) {
                return item.toString().indexOf(5)>-1;
            });
            console.log(result1);
    every(): 找false 找到false后停止 返回false
    let arr3 = [1,2,3,4,5];
            let result2 = arr3.every(function (item,index) {
                return item.toString().indexOf(5)>-1;
            });
            console.log(result2);
    reduce(): 收敛函数 有4个参数 返回的是叠加后的结果 原数组不发生变化 回调函数返回的结果
    prev,代表是数组的第一项,next,代表是数组的第二项
    第二次 prev代表是undefined,next,代表是数组的第三项
    [1,2,3,4,5].reduce(function(prev,next,index,item){
            // console.log(arguments);
            console.log(prev,next);
            return 100; // 本次的返回值 会作为下一次的上一个 
            
        })
  • 相关阅读:
    微信扫码
    vue h5公众号支付
    vue h5支付宝支付
    vue PDF预览
    vue 中AES加密
    vue 动态路由配置
    移动端调试工具
    Ajax工作原理
    yahoo军规
    Flex 布局教程
  • 原文地址:https://www.cnblogs.com/010101-/p/9843772.html
Copyright © 2011-2022 走看看