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. scp建立安全信任关系

    1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书. [root@Client root]# ssh-keygen -b 1024 -t rsa Gener ...

  2. smartbits国产版本minismb – windows 10 用户界面无法正常显示

    Minismb测试仪表是复刻smartbits的国产版本,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数和 ...

  3. [Pandas] 01 - A guy based on NumPy

    主要搞明白NumPy“为什么快”. 学习资源 Panda 中文 易百教程 远程登录Jupyter笔记本 效率进化 四步效率优化 NumPy 底层进行了不错的优化. %timeit 对于任意语句,它会自 ...

  4. 【linux】【Fabric】Centos7搭建Fabric运行环境

    1.安装jdk1.8配置环境变量 参考:https://www.cnblogs.com/jxd283465/p/11541506.html 2.安装git yum -y install git 3.安 ...

  5. 【linux】【maven】maven及maven私服安装

    前言 系统环境:Centos7.jdk1.8 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用.当Maven需要下载构件的时候,它从私服请求,如 ...

  6. java Swing 界面化查询数据库表

    两天从0基础写的.没有按钮对话框功能,只是简单的实现. 当然代码上有很多需要优化的,基本需要重写哈哈哈.但是我怕以后有需要所以还是存一下好了.<把RS结果集,放vector里面,用vector构 ...

  7. Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session

    Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制. 配 ...

  8. 滴滴热力图-php版(后面有js版本)

    ) * ) ) * ) {) * *pi() / ) * ]) % ) {//在多边形外return false;} else { //在多边形内return true;} }

  9. Windows搭建SVN服务器

    安装 1.下载地址:https://www.visualsvn.com/files/VisualSVN-Server-4.0.3-x64.msi 2.开始安装: 3.安装配置: 4.Next直到完成 ...

  10. 非后端开发Mysql日常使用小结

    数据库的五个概念 数据库服务器 数据库 数据表 数据字段 数据行 那么这里下面既是对上面几个概念进行基本的日常操作. 数据库引擎使用 这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6 ...