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. JS实现数组去重的方法

    1.使用ES6的Set进行去重 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  2. NodeManager概述(基本职能和内部架构)

    概述 NodeManager是运行在单个节点上的代理,它需要与应用程序的的ApplicationMaster和集群管理者ResourceManager交互: 从ApplicationMaster上接收 ...

  3. Docker学习之Dockerfile

    通过编写简单的文件创建docker镜像 dockerfile 用来创建docker镜像. 格式 : FROM alpine:latest MAINTAINER XSW CMD echo "h ...

  4. 通俗讲解 RESTful

    1 什么是 RESTful 百度一下 RESTful,查到的资料很多都讲得不清楚,看完了都不知道说的是啥,导致很多人对 RESTful 不甚了解.来看一下常见的解释: (1)神一样的描述REST 并不 ...

  5. Chrome 调试AJAX请求返回的JS脚本

    有时候会使用AJAX请求加载局部的Html页面,这个时候如果想调试局部页面中的js就比较麻烦,现在暂时发现了两种方法.第一种是在js代码中想要断点的地方加debugger,这样代码执行到此处会进入断点 ...

  6. MongoDB入门系列之科普篇

    ​ 目录 背景 对比 MongoDB的数据存储格式 背景 最近公司扩展了很多国外客户,那么一个很严重的问题就是翻译,对于国外客户来说,肯定看不懂中文,那就要项目中提供切换各自国家语言的功能. 由于每个 ...

  7. redis列表底层实现之一——链表

    注意标题中的“之一”,那么什么情况下,列表会使用链表作为其数据结构呢? 答案就是——列表键包含了大量的元素,或者列表中包含的元素都是比较长的字符串. Ok,由于链表大家都比较熟悉,接下来就直接给出链表 ...

  8. wordpress安装主题、插件需要FTP用户名密码

    修改主目录wordpress下的wp-config.php文件,在最结尾加上 define("FS_METHOD", "direct"); define(&qu ...

  9. element取表格对应id数据

    <el-button size="mini" type="danger" @click="editor(scope.row)"> ...

  10. netty源码解解析(4.0)-23 ByteBuf内存管理:分配和释放

    ByteBuf内存分配和释放由具体实现负责,抽象类型只定义的内存分配和释放的时机. 内存分配分两个阶段: 第一阶段,初始化时分配内存.第二阶段: 内存不够用时分配新的内存.ByteBuf抽象层没有定义 ...