• js数组


    创建数组

    字面量方式创建(推荐使用)

    var arr = ['red'.'green', 'blue'];
    

    使用构造函数

    var arr = new Array('red', 'green', 'blue');
    

    数组赋值

    var arr = []
    arr[0] = 'red';
    arr[1] = 'grren';
    arr[2] = 'blue';
    

    数组的基本操作

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    
    </body>
    <script type="text/javascript">
    var arr = ['a', 'b', 'c'];
    var arrPop = arr.pop();// 返回最后一项,同时删除最后一项
    console.log(arrPop); 
    var arrPush = arr.push('d'); //往数组最后一项追加,返回新数组长度
    console.log('push: '+arrPush); //
    var arrShift = arr.shift(); // 删除数组第一个元素,返回数组第一个元素
    console.log('shift:' + arrShift)
    var arrUnshift = arr.unshift('e', 'f', 'd', 'g','g'); //往数组第一个位置插入元素,返回插入的元素
    
    var arrSlice = arr.slice(3,6); // 从0开始,顾头不顾尾,返回数组的一段,不改变原数组
    var arrSlice1 = arr.slice(-4,-1); // 效果同上,
    console.log('数组长度: '+arr.length);
    console.log(arrSlice);
    console.log(arrSlice1);
    console.log('g的位置:'+ arr.indexOf('g'));//从左往右,第一个g的位置
    console.log(arr.lastIndexOf('g')); //从右往左,第一个g的位置
    console.log(arr.indexOf('p'));// 如果没有找到返回-1;
    var newArr = arr.sort(); //对数组进行排序,改变原数组
    var reArr = arr.reverse(); // 对数组进行反转,改变原数组
    var concatArr = arr.concat(['1', '2', '3']); //合并数组,返回新数组,不改变原来的数组
    
    console.log('new: '+ concatArr);
    console.log('arr: '+ arr);
    </script>
    </html>
    
    

    总结:不改变原数组的方法有:concat, slice

    数组的归并方法

    reduce和reduceRight, reduceRight和reduce一样,区别在于从右边开始遍历,方向不同。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    </body>
    <script type="text/javascript">
    var arr = [1,2,3,4,5];
    // 第一次执行回调函数, prev=1 , cur=2;
    //第二次执行回调函数, prev = 1+2 , cur是数组上的3;
    
    var sum = arr.reduce(function(prev, cur, index,arr){
    return prev+cur;
    });
    console.log(sum); //15
    </script>
    </html>
    

    数组的迭代方法

    every():对数组中的每一项运行给定函数,如果每一项都返回True,则返回True;

    arr = [1,2,3,4,5,6,7]
    everyArr = arr.every(function(item,index,arr){
    return (item> 3); // false
    })
    console.log(everyArr);
    everyArr0 = arr.every(function(item,index,arr){
    return (item> 0); //true
    })
    console.log(everyArr);
    

    some():对数组中的每一项运行给定函数,如果有一项都返回True,则返回True;

    arr = [1,2,3,4,5,6,7]
    someArr = arr.some(function(item,index,arr){
    return (item > 5)
    })
    console.log(someArr) //true
    
    

    filter():对数组中的每一项运行给定函数,返回True项组成的数组;

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

    map():对数组中的每一项运行给定函数,返回函数调用结果组成的数组;

    mapArr = arr.map(function(item,index,arr){
    return (item*2)
    })
    console.log(mapArr); //"2,4,6,8,10,12,14"
    
    

    foreach():对数组中的每一项运行给定函数,没有返回值;

  • 相关阅读:
    拓端tecdat|R语言多变量广义正交GARCH(GOGARCH)模型对股市高维波动率时间序列拟合预测
    拓端tecdat|MATLAB用Lasso回归拟合高维数据和交叉验证
    【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
    R语言样条曲线、分段线性回归模型piecewise regression估计个股beta值分析收益率数据
    Nacos极简教程
    解决SpringBoot连接Nacos集群报400问题
    SpringBoot整合Nacos自动刷新配置
    openssl
    Centos docker服务启动失败 A dependency job for docker.service failed
    php变量当做boolean
  • 原文地址:https://www.cnblogs.com/Jason-lin/p/9119442.html
Copyright © 2020-2023  润新知