1.        push:最后一位新增;//改变原数组

        arr.push("123");
        返回值是数组的长度;
        var b = [1, 2, 3, 4]
            console.log("没改变之前的数组长度" + b.length);
            //4
            var n = b.push(123);
            console.log(n);
            //5
 
2.  unshift:第一位新增;//改变原数组

        arr.unshift("123");
        返回值是数组的长度;
        var b = [1, 2, 3, 4]
            console.log("没改变之前的数组长度" + b.length);
            //4
            var n = b.unshift(123);
            console.log(n);
            //5
 
3.  pop:最后一位删除;//改变原数组

        arr.pop();
        返回值是被删除的值;
            var b = [1, 2, 3, 4, 5]
            var n = b.pop();
            console.log(n);
            //5
 
 
4.  shift:第一位删除;//改变原数组

        arr.shift();
        返回的是被删除的值;
            var b = ["a",1, 2, 3, 4, 5]
            var n = b.pop();
            console.log(n);
            //a
 
 
5.  splice:替换;//改变原数组

        arr.splice(2,2,"html");   //从length为2开始,删除2个数,添加"html";
        返回值是被删除的值;
            var b = ["a", 1, 2, 3, 4, 5]
            var n = b.splice(2, 2, "b");
            console.log(n);
            //2,3
 
 
6.  sort:默认会按照字符的排序规则,升序;//逐位比较//改变原数组

            //需要传入回调函数,在回调函数身上右接收两个参数,返回这两个参数的差,可以按照数值的排序规则进行排序
        arr.sort(function(a,b){
              return b-a;
        });
        console.log(arr);
        返回值是排序后的数组;
            var b = ["a", 1, 2, 3, 4, 5]
            b.sort(function(a, b) {
                return b - a;
            });
            console.log(b);
            //[ 5, 4, 3, 2, 1, "a" ]
 
 
7.  slice:截取,从第一个参数位,截取到第二个参数位的前一个;-1//不改变原数组

        //slice不会改变原数组
        返回值是截取的值;
            var b = ["a", 1, 2, 3, 4, 5]
            var n = b.slice(2, 4);
            console.log(n);
            //[ 2, 3 ]
            console.log(b);
            //[ "a", 1, 2, 3, 4, 5 ]
 
 
8.  reverse:颠倒数组;//改变原数组

        arr.reverse();
        返回值是颠倒后的数组;
            var b = ["a", 1, 2, 3, 4, 5]
            var n = b.reverse();
            console.log(n);
            //[ 5, 4, 3, 2, 1, "a" ]
            console.log(b);
            //[ 5, 4, 3, 2, 1, "a" ]
 
 
9.  concat():连接两个或多个数组。//不改变数组

        arr.concat(b);
        返回值是新数组;
            var a = [1, 2, 3, 4];
            var b = [4, 5, 6, 7];
            var n = a.concat(b);
            console.log(n);
            //[ 1, 2, 3, 4, 4, 5, 6, 7 ]
            console.log(a);
            //[ 1, 2, 3, 4 ]

JavaScript Array返回值以及是否改变原数组。的更多相关文章

  1. JS数组方法的的返回值和是否改变该数组总结

    concat() 方法 concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 返回值 返回一个新的数组.该数组是通过把所有 arrayX 参数添 ...

  2. bit-map牛刀小试:数组test[X]的值所有在区间[1, 8000]中, 现要输出test中反复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB

    先来看看这个题目:数组test[X]的值所有在区间[1, 8000]中. 现要输出test中反复的数.要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB. 好, ...

  3. asp.net后台操作javascript:confirm返回值

    在asp.net中使用confirm可以分为两种: 1.没有使用ajax,confirm会引起也面刷新 2.使用了ajax,不会刷新 A.没有使用ajax,可以用StringBuilder来完成. ( ...

  4. js数组方法 改变原数组和不改变原数组的方法整理

    改变原数组: pop():   删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值 ...

  5. JS 数组的常用方法归纳之不改变原数组和其他

    不改变原数组的方法 concat() 连接两个或多个数组,不改变现有数组,返回新数组,添加的是数组中的元素 join(",") 把数组中的所有元素放入一个字符串,通过‘,’分隔符进 ...

  6. Java方法调用数组,是否改变原数组元素的总结

    Java方法调用数组,是否改变原数组元素的总结 //个人理解, 欢迎吐槽 注意String是引用型变量, 我的理解也就是指向型, 指向一个数据或变量, 画图理解最容易, string 指向的 数据的值 ...

  7. 剑指offer24:二叉树中和为输入整数值的所有路径。(注意: 在返回值的list中,数组长度大的数组靠前)

    1 题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长 ...

  8. js操作改变原数组的解决方法

    最近在开发的时候发现js中的循环操作会改变原数组,var一个变量承接也不行 甚至连map方法都会改变原数组,下面是解决方法 let a = ['a','b','c'] let b = [[2, 0, ...

  9. JS在不改变原数组的情况下复制一个新的数组

    var a={1,2,3,4} var data= JSON.parse(JSON.stringify(a[0])) a.push(data) a[4]=5 这样就不会改变原数组a的数据

随机推荐

  1. 性能测试瓶颈判断(LR&Windowns)

    性能测试瓶颈判断(LR&Windowns) 一.判断CPU瓶颈(Processor) 1, %processor time 如果该值持续超过95%,表明瓶颈是CPU.可以考虑增加一个处理器或换 ...

  2. npm install 时间很长解决方案

    国外镜像站很慢,所以我们可以更换为国内的镜像站 首先可以get命令查看registry npm congfig get registry 如果你没有变更果regustry你的结果应该会是这样的 也就是 ...

  3. alpha测试和beta测试的区别

    alpha测试版,有点相当于内部测试,一般开发人员在场   ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试  beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一 ...

  4. Linux版本号的数值含义

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字.第一个组数字:目前发布的内核主版本.第二个组数字:偶数表示稳定版本:奇数表示开发中 ...

  5. MonkeyRunner学习笔记(1)

    MonkeyRunner是java编程语言实现的Python写出来的一个API调用工具 MonkeyRunner有三个类:MonkeyRunner,MonkeyDevice,MonkeyImage M ...

  6. 微项目:一步一步带你使用SpringBoot入门(二)

    今天我们来使用JPA做分页项目并且做讲解 如果是新来的朋友请回上一篇 上一篇:微项目(一) maven整合 在pom文件的dependencies依赖中导入以下依赖 <dependency> ...

  7. SUSE CaaS Platform 4 - 安装部署

    SUSE CaaS Platform 相关文章 (1)SUSE CaaS Platform 4 - 简介 (2)SUSE CaaS Platform 4 - 安装部署 (3)SUSE CaaS Pla ...

  8. Win10下80端口被System占用导致Apache无法启动

    Windows10下80端口被PID为4的System占用导致Apache无法启动的分析与解决方案 方法/步骤     最近更新了Windows10,总体上来说效果还是蛮不错的,然而今天在开启Apac ...

  9. 小程序webview跳转页面后没有返回按钮完美解决方案

    随着小程序越来越火爆,使一个产品如果只有公众号H5页面和APP显得不怎么完美,总感觉不搭上小程序这趟流量车,就会少了点什么,心里别扭地很.在此驱动下,我所在公司也决定赶紧上车. 但是,如果要按照小程序 ...

  10. 基于 HTML5 的工控物联网的隧道监控实战

    前言 监控隧道内的车道堵塞情况.隧道内的车祸现场,在隧道中显示当前车祸位置并在隧道口给与提示等等功能都是非常有必要的.这个隧道 Demo 的主要内容包括:照明.风机.车道指示灯.交通信号灯.情报板.消 ...