哪些方法改变原数组,哪些方法不改变原数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪些方法改变原数组,哪些方法不改变原数组相关的知识,希望对你有一定的参考价值。
参考技术A 1、shift:将一个元素删除并且返回删除元素,删除第一项2、unshift:在原数组的最前端依次添加,并且返回新数组的长度
3、posh:在原数组的最后依次添加项,并返回新数组的长度
4、pop:将一个元素移除并返回移除的项,最后一项
5、reverse:反转数组的顺序
6、sort:对数组进行依次排序
7、splice:三个参数。第一个代表开始的下标,第二个代表 要删除的个数,第三个代表要替换的东西 返回被删除的数组
1、concat:拼接,连接多个数组
2、slice:提取,返回被提取的字符
3:join:将数组中所有元素以参数作为分隔符放入一个字符
4、map,filter,some,ever等不改变原数组
数组中的方法-- 会改变原数组的
我总结数组中的方法归为两类,一种是会改变原数组的,一种是不改变原数组的
这里将会介绍改变原数组的方法
1.pop()移除数组最后一个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop(); console.log(fruits) //[ ‘Banana‘, ‘Orange‘, ‘Apple‘ ]
2.push()把元素添加到数组尾部
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Kiwi") 结果输出 Banana,Orange,Apple,Mango,Kiwi
3.reverse()在原数组中颠倒元素的顺序。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.reverse(); 输出结果 Mango,Apple,Orange,Banana
4.shift ()移除数组的第一个元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.shift() 结果 Orange,Apple,Mango
5.sort ()在原数组中对数组元素进行排序。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); 输出结果 Apple,Banana,Mango,Orange
6.splice()插入、删除或替换数组元素。
语法 array.splice(index,howmany,item1,.....,itemX)
index 表示要操作数组的开始位置索引值,必填
howmany 表示要删除元素的个数 必须是数字 可以是0,如果没填就是删除从index 开始到数组的结尾
item1.... 表示要添加到数组中的新值
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var newarray = fruits.splice(2); console.log(fruits) console.log(newarray) 结果是 [ ‘Banana‘, ‘Orange‘ ] [ ‘Apple‘, ‘Mango‘ ] 改变原数组 返回的是被删除的元素的数组集合
7.unshift()在数组头部插入元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon","Pineapple"); fruits 将输出: Lemon,Pineapple,Banana,Orange,Apple,Mango
上面7个分别是 添加元素 push unshift 移除元素 pop shift 颠倒顺序 reverse 删除元素 splice 元素排序 sort
8.forEach map filter 等遍历数组的情况下 ,在遍历中区修改原数组
这里需要注意的是 在遍历中修改元素值的时候 有两种情况 一个是元素值是基本数据类型的 还有一种情况是元素值是引用数据类型的值
第一种情况下 直接去修改基本数据类型的值 是不会改变原数组的,需要借助 index 来实现改变
let arr = [1,3,5,7,9]; arr.forEach(function(item,index,arr){ arr[index] = 30; }) console.log(arr); //输出 (5) [30, 30, 30, 30, 30]
第二种情况的时候
var fruits = [ { name:‘aaa‘, id: 1 }, { name:‘bbb‘, id:2 } ]; fruits.map(item => { if (item.id === 1){ item.name = ‘Banana----new‘ } }) console.log(fruits)
以上是关于哪些方法改变原数组,哪些方法不改变原数组的主要内容,如果未能解决你的问题,请参考以下文章