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. Tomcat下java普通类IO文件路径问题

    由于在windows和linux下文件路径的表示方式存在差异 而我们的项目大多是在windows下的eclipse中完成测试 然后部署到linux的tomcat服务器中 这个时候我们既不能把地址写死( ...

  2. 第四周 Java课件内容动手动脑

    1.JDK中的Math类 package ke1; public class TestMath { public static void main(String[] args) { /*------- ...

  3. Vsftp服务-实战案例

    Vsftp 实验案例一:(本地用户) 试验版本:Linux7.X版本 公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文 件.创建目录.更新网页等等.公司 ...

  4. 限制页面被pc端访问

    在需要被pc端访问的页面的脚本里加上如下代码即可: <script>var system = {}; var p = navigator.platform; var u = navigat ...

  5. 2.css3表示颜色的几种方式

    1.css3中表示颜色的几种方式: ⑴颜色名称.十六进制.RGB方式: ⑵RGBA方式:新增了alpha参数,介于0.0(完全透明)到1.0(完全不透明)之间: ⑶HSL方式:分别表示色调.饱和度.亮 ...

  6. 【MySQL】java.sql.SQLException: The server time zone value

    错误:Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: The se ...

  7. docker服务在Mac上的启动与使用

    在mac上打开安装的docker软件就可以启动docker服务了 点击顶部状态栏中鲸鱼图标会弹出操作菜单,显示着服务的状态,如下图所示: 只有在docker服务启动了之后,才可以在终端使用docker ...

  8. Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

    今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...

  9. Window下的VScode快捷键

    转载自4ark 全局 Ctrl + Shift + P, F1 显示命令面板 Ctrl + P 快速打开Ctrl + Shift + N 打开新窗口Ctrl + Shift + W 关闭窗口 基本 C ...

  10. A-01 最小二乘法

    目录 最小二乘法 一.最小二乘法--代数法 二.最小二乘法--矩阵法 三.最小二乘法优缺点 3.1 优点 3.2 缺点 更新.更全的<机器学习>的更新网站,更有python.go.数据结构 ...