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. Navicat Premium 连oralce报错:oracle library is not loaded

    我装的Navicat Premium是64位的,计算机也是64位的,故在oracle网上下了一个64位的instantclient-basic-windows.x64-11.2.0.4.0.zip 地 ...

  2. librosa语音信号处理

    librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能.学会librosa后再也不用用python去实现 ...

  3. 微信小程序开发简述

    微信小程序简述 什么是微信小程序? 微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用.全面开放 ...

  4. 美化H标签

    美化H标签 .article-content h2{ font-size:18px; font-weight:bold; background-color: #CEEEFA; border-botto ...

  5. Hbase入门(三)——数据模型

    Hbase最核心但也是最难理解的就是数据模型,由于与传统的关系型数据库不同,虽然Hbase也有表(Table),也有行(Row)和列(Column),但是与关系型数据库不同的是Hbase有一个列族(C ...

  6. 手把手创建gulp

    这几天安装gulp踩了不少坑,现在讲解一个入门的案例解析: ==首先大家要确保node.npm.npx.gulp安装是否成功 == 这些安装都是傻瓜式安装,大家可以找到相应的教材. 创建一个自己的文件 ...

  7. Merge into 语句实例

    /*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配 ...

  8. 【Spring Boot源码分析】@EnableAutoConfiguration注解(一)@AutoConfigurationImportSelector注解的处理

    Java及Spring Boot新手,首次尝试源码分析,欢迎指正! 一.概述 @EnableAutoConfiguration注解是Spring Boot中配置自动装载的总开关.本文将从@Enable ...

  9. 浅谈MVC&MTV设计模式

    在目前基于Python语言的几十个Web开发框架中,几乎所有的全栈框架都强制或引导开发者使用MVC设计模式.所谓全栈框架,是指除了封装网络和线程操作,还提供HTTP.数据库读写管理.HTML模板引擎等 ...

  10. 电信资源管理系统:基于 H5 叠加 OpenLayers3 GIS

    前言 通过结合 HTML5 和 OpenLayers 可以组合成非常棒的一个电信地图网络拓扑图的应用,形成的效果可以用来作为电信资源管理系统,美食定位分享软件,片区找房,绘制铁轨线路等等,各个领域都能 ...