数组方法总结---改变原数组和不改变数组

<script>先来看看基础
    // 1 数组定义方法  new Array 或 字面量
  var arr = new Array()

  var arr1 = [1, 2, 3, 4, 5, 6]
  </script>

需要注意的是 new Array()创建的数组只有一位的时候,第一位代表的数组长度,而不是第一位的值,而且不能为小数

接下来是数组方法:可以先分为两类  改变原数组和不改变原数组

  1. 改变原数组push() 用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度
  • // 1  push 用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度
          var arr = [2, 3, 4];
          arr.push(33, 44, 55, 77);// (7) [2, 3, 4, 33, 44, 55, 77]

    而且在编辑器也可以看出进行多个参数

    既然知道push方法,我们模拟下push方法实现

    1 var arr = [2, 3, 4];
    2       // arr.push(33, 44, 55, 77);//
    3
    4       Array.prototype.push = function () {
    5         console.log(111); //   2 证明我们已经在原型链上 修改数组push方法
    6
    7       }
    8       arr.push()   //1 此时打印 111
    1  Array.prototype.push = function () {
    2         for (var i = 0; i < arguments.length; i++) {
    3           this[this.length] = arguments[i]
    4         }
    5         return this.length
    6       }
    7      arr.push(222)// 打印 [2, 3, 4, 222]
    8      arr.push(333, 444, 555)  // 打印[2, 3, 4, 222, 333, 444, 555] // arguments.length 指向传递给当前函数的参数数量 

    1.改变原数组:  pop()  

    (删除方法)(把数组的最后一位给截切出去)(括号里边就不要想着传参了 没有用)每次执行,只能删除一个

    1     var arr = [2, 3, 4];
    2     arr.pop() // [2, 3]
    3     arr.pop() // [2]

    1.改变原数组: unshift(从数组的最前边添加数据和push刚好相反)(可以添加一个或多个)

  • 1     var arr = [2, 3, 4];
    2     arr.unshift(111, 222, 333) //  [111, 222, 333, 2, 3, 4]
    3     arr.unshift(444, 555, 666) //  [444, 555, 666, 111, 222, 333, 2, 3, 4]

原文地址:https://www.cnblogs.com/doumian/p/12578486.html

时间: 2024-11-10 14:32:44

数组方法总结---改变原数组和不改变数组的相关文章

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

concat() 方法 concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 返回值 返回一个新的数组.该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的.如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组. join() 方法  不改变原数组 join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. 返回值 返回一个字符串.该字符串是通过把

JavaScript数组方法详解

JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中原型上的方法,本文举例介绍了从ES3到ES7几乎所有的数组方法.这大概是最全的数组方法详解了.希望读者能从中有所收获. 一.各版本数组方法一览表 数组方法名 对应版本 功能 原数组是否改变 pop() ES3- 删除最后一位,并返回删除的数据 是 push() ES3- 在最后一位新增一或多个数据,

PHP数组常用数组方法、操作字符串的方法

数组方法作用及例子 1.in_array()   判断数组中是否存在某一值 $arr = array('a','b','c'); if(in_array('a',$arr)){ echo "yes"; }else{ echo"no"; }  //输出结果 :yes 2.implode()  数组转字符串 $arr = array('a','b','c'); echo implode(".",$arr);  //输出结果:a.b.c 3.json_

js中改变原数组的方法以及解决改变原数组的方法

改变原数组的方法 pop():删除数组最后一个元素,并返回该元素 push():在数组尾部添加元素,并返回更新后的数组长度 shift():删除数组的第一个元素,并返回该元素 unshift():在数组第一位添加元素,并返回更新后的数组长度 sort():对数组排序(按字符ASCII进行排序),也可添加回调函数按照想要的规则排序 reverse():数组反转 splice(index, howmany, 新数据):返回被删除元素所组成的数组. 解决改变原数组的方法 背景:需要一个和原数组相等的数

JavaScript中常见数组方法原数组改不改变

改变原数组 1 pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值.arrayObject.pop() 2 push(): push() 方法可把它的参数顺序添加到 arrayObject 的尾部. 它直接修改 arrayObject,而不是创建一个新的数组,arrayObject.push(newelement1,newelement2,….,newelementX

数组中的方法-- 会改变原数组的

我总结数组中的方法归为两类,一种是会改变原数组的,一种是不改变原数组的 这里将会介绍改变原数组的方法 1.pop()移除数组最后一个元素 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop(); console.log(fruits) //[ 'Banana', 'Orange', 'Apple' ] 2.push()把元素添加到数组尾部 var fr

数组中的方法 --- 不改变原数组的方法

1.concat()把元素衔接到数组中. concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测. 如果所有元素都满足条件,则返回 true 3.filter()返回满足断言函数的数组元素. 4.forEach()为数组的每一个元素调用指定函数. 5indexOf()在数组中查找指定元素. 

数组的方法中那些会改变原数组呢?

不会改变原来数组的有:concat()---连接两个或更多的数组,并返回结果.every()---检测数组元素的每个元素是否都符合条件.some()---检测数组元素中是否有元素符合指定条件.filter()---检测数组元素,并返回符合条件所有元素的数组.indexOf()---搜索数组中的元素,并返回它所在的位置.join()---把数组的所有元素放入一个字符串.toString()---把数组转换为字符串,并返回结果.lastIndexOf()---返回一个指定的字符串值最后出现的位置,在

利用索引数组排序 不改变原数组值的位置

1.定义一个和要排序数组a[10]长度一样的数组, 这里定义为10,index[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},值为10个下标. 2. 用冒泡排序,索引值代替小下标即可 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int a[10] = {4, 2, 1, 6, 7, 9, 0, 3, 5, 8}; int index[10] = {0, 1, 2, 3, 4, 5, 6