美文网首页
JS数组操作

JS数组操作

作者: 呦释原点 | 来源:发表于2017-02-07 14:10 被阅读5次
添加和删除元素的方法
1.push & pop
        var arr1 = [1,2,3,4,5,6];
        // push:从尾部添加元素,返回元素的个数 / pop:从尾部删除元素,返回被删除的元素
        var result2 = arr1.push('aa');
        // 结果:arr1 = 1,2,3,4,5,6,aa result2 = 7(数组的个数)
        var result = arr1.pop();
        // 结果:arr1 = 1,2,3,4,5,6  result = aa(被抛弃的数组)
2.shift& unshift
        var arr1 = [1,2,3,4,5,6];

        // shift:从头部删除元素,返回被删除的元素 / unshift:从头部添加元素,返回添加元素后的个数

        result = arr1.shift();
        // 结果:arr1 = 2,3,4,5,6  result = 1(被抛弃的数组)

        result = arr1.unshift('aa');
        // 结果:arr1 = aa,2,3,4,5,6  result = 6(添加元素后数组的个数)
3. splice / slice
        /*
        aplice: 抛弃一些元素,在抛弃元素的位置插入一些元素,如果传入两个参数就只有删除没有追加,如果只有一个参数就是从该位置删除到最后 操作数组本身
                第一个参数:起始位置
                第二个参数:要删除元素的个数
                第三个参数及以后的参数:追加的新元素,从删除的位置开始追加
         */
        arr1 = [1,2,3,4,5];
        result = arr1.splice(1,2,3,4,5);
        // 结果:arr1 = 1,3,4,5,4,5  result = 2,3(被抛弃的数组)

        /*
        slice:截取范围  (左闭右开区间) 不操作数组本身
         */
        arr1 = [1,2,3,4,5];
        result = arr1.slice(2,5);
        // 结果:arr1 = 1,2,3,4,5  result = 3,4,5(截取到的数组)
concat & join & sort & reverse
        var arr1 = [1,2,3];
        var arr2 = [true, 4,5];

        result = arr1.concat(arr2);
        // 结果:result=1,2,3,true,4,5   arr1 = 1,2,3    arr2 = true,4,5
        // concat不操作数组本身,返回两个数组连接后的数组

        result = arr1.join('a');
        // 结果:result=1a2a3   arr1 = 1,2,3
        //不操作数组本身,在每个元素之间添加内容

        arr1 = [3,6,1,14,28,9];
        result = arr1.sort();
        // sort 正序排序, 按字母顺序排序
        // 结果:result=1,14,28,3,6,9   arr1 = 1,14,28,3,6,9

        arr1 = [3,6,1,14,28,9];
        result = arr1.reverse();
        // reverse: 将数组反转
        // 结果:result=9,28,14,1,6,3   arr1 = 9,28,14,1,6,3
ECMAScript5中Array特性
位置方法: indexOf & lastIndexOf
        var arr = [1,2,3,4,5,4,3,2,1];
        var index = arr.indexOf(4);
        // 结果: index = 3     返回第一次出现的位置
        index = arr.indexOf(4,4);
        // 结果: index = 5     返回从第一个参数位置开始第一次出现的位置

        index = arr.lastIndexOf(4);
        // 结果: index = 5     从后向前,返回第一次出现的位置
迭代方法: every & filter & forEach & some & map
        // every: 对数组的每一元素进行函数的运行,如果都返回true最后结果为true,如果有一个返回false则结果为false
        var result = arr.every(function(item, index, array){ // item:元素项,index:索引, array:数组本身
            return item > 2;
        });
        // 结果: false

        // some:和every相反,如果有一项返回true结果为true

        // filter :对数组的每一个元素进行函数运行,把返回函数运行的结果过滤出来
        result = arr.filter(function (item, index, array) {
           return item > 2;
        });
        // 结果: 3,4,5,4,3

        //fotEach: 循环数组的每一项,并执行一个方法
        arr.forEach(function (item, index, array) {
           item * 2;
        });

        // map :对数组的每一个元素进行函数运行,函数执行完毕后 把新的结果返回
        result = arr.map(function (item, index, array) {
            return item * 2;
        });
        // 结果: result = 2,4,6,8,10,8,6,4,2
缩小方法: reduce & reduceRight
        // reduce: 处理前一个值和当前值的关系
        var arr = [1,2,3,4,5,4,3,2,1];
        result = arr.reduce(function (prev,cur,index,array) {
        // 参数含义(前一个值, 当前值, 索引位置, 数组)
            return prev + cur; // 将前一个值和当前值相加
        });
        // 结果: result = 25

        // reduceRight : 从右侧开始遍历
        result = arr.reduceRight(function (prev,cur,index,array) {
            // 参数含义(前一个值, 当前值, 索引位置, 数组)
            return prev + cur;
        });
        // 结果: result = 25

相关文章

  • js笔记

    js数组 删除某个元素 js数组是否含有某个元素 判断value为undefined cookie操作

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • JS jsonArray操作

    JS jsonArray操作 js对数组对象的操作以及方法的使用 如何声明创建一个数组对象:var arr = n...

  • JS对象 & JSON & JS数组操作

    JS对象 & JSON & JS数组操作 JSON 格式(JavaScript Object Notation 的...

  • js对象数组操作 数组操作

    var numbers = [1, 2, 3];var newNumbers1 = numbers.map(fun...

  • JS数组操作

    splice 用于一次性解决数组添加、删除(这两种方法一结合就可以达到替换效果),方法有三个参数 开始索引 删除元...

  • JS数组操作

    1.栈方法 push()和pop() 后入先出 push():末尾追加 pop():末尾弹出 2.队列方法 先入先...

  • js 数组操作

    遍历删除元素: 遍历数组:for循环遍历: forEach遍历:

  • js数组操作

    一、改变原数组的方法 a.reverse() 将数组逆序,会修改原数组 a.sort 对数组进行排序, 需要传入自...

  • [js]数组操作

网友评论

      本文标题:JS数组操作

      本文链接:https://www.haomeiwen.com/subject/tiopittx.html