是否改变原数组的常用方法归纳

改变原数组:

1、pop()  删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined,改变原数组,返回被删除的元素

2、push()   向数组末尾添加一个或多个元素,改变原数组,返回新数组的长度

3、reverse()   颠倒数组中元素的顺序,改变原数组,返回该数组

4、shift()   把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined,改变原数组,返回第一个元素的值

5、sort()   对数组元素进行排序,改变原数组,返回该数组

6、splice()   从数组中添加/删除项目,改变原数组,返回被删除的元素

7、unshift()   向数组的开头添加一个或多个元素,改变原数组,返回新数组的长度

不改变原数组的:

1、concat()   连接两个或多个数组,并将新的数组返回,不改变原数组,返回新的数组

2、join()   把数组中所有元素放入一个字符串,将数组转换为字符串,不改变原数组,返回字符串

3、slice()  从已有的数组中返回选定的元素,提取部分元素,放到新数组中,参数解释:1:截取开始的位置的索引,包含开始索引;2:截取结束的位置的索引,不包含结束索引。不改变原数组,返回一个新数组

4、toString()   把数组转为字符串,不改变原数组,返回数组的字符串形式

5、map,filter,forEach,some,every等不改变原数组

原文地址:https://www.cnblogs.com/wzp-monkey/p/10308642.html

时间: 2024-09-28 17:45:02

是否改变原数组的常用方法归纳的相关文章

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

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

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

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

task 2:移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组.</title> </head> <body> <script> var arr = [1,2,3,4,2,5,6,2,7,2]; var str4 = arr.slice(1,2); var st

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

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

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

<script>先来看看基础 // 1 数组定义方法 new Array 或 字面量 var arr = new Array() var arr1 = [1, 2, 3, 4, 5, 6] </script> 需要注意的是 new Array()创建的数组只有一位的时候,第一位代表的数组长度,而不是第一位的值,而且不能为小数 接下来是数组方法:可以先分为两类  改变原数组和不改变原数组 改变原数组:push() 用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度 //

合并数组,改变原数组apply与不改变原数组

一看见合并数组,可能第一反应就是concat,concat确实具有我们想要的行为,但它实际上并不附加到现有数组,而是创建并返回一个新数组. 同样你也许会想到ES6的扩展运算符...         但它同样也是新生成一个数组. 但是我们想要附加到我们现有的阵列,运用apply: var array = ['a', 'b'];var elements = [0, 1, 2];array.push.apply(array, elements);console.log(array); // ["a&q

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

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

递归找出数组中对象属性为某个值的选项,不改变原数组

arr数组每一项为一个对象,并且每一项可能有children属性,其值为同它本身一样的数组,要求找到数组中checked==true的值(前提:如果其子元素checked==true,那么父级的checked一定为true) 这里的逻辑跟该自定义组件相似:http://www.cnblogs.com/XHappyness/p/7451611.html findValue(arr) { let newArr= [].concat(arr);//把值赋值给一个新数组,而不是赋值引用:如果直接 let

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

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