1.可以改变原数组的方法
pop():删除数组最后一个元素,并返回该元素
push():在数组尾部添加元素,并返回更新后的数组长度
shift():删除数组的第一个元素,并返回该元素
unshift():在数组第一位添加元素,并返回更新后的数组长度
sort():对数组排序(按字符ASCII进行排序),也可添加回调函数按照想要的规则排序
//升序
arr.sort((a,b)=>a-b)
//降序
arr.sort((a,b)=>b-a)
reverse():数组反转
splice(index, howmany, 新数据):返回被删除元素所组成的数组。
index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany —— 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目。
2.基本数据类型组成的数组如何避免被改变
注意这里说的是基本数据类型的数组,如果是引用数据类型的数组,改变数组里面对象某一个属性,原数组还是会改变,如下
const arr = [{name:"1"}]
const arr2 = arr.slice()
arr2[0].name = '2'
console.log(arr,arr2)
[{name: '2'}]
[{name: '2'}]
const arr = [1]
const arr2 = arr.slice()
arr2[0] = 2
console.log(arr,arr2)
[1] [2]
方法一:slice()
var b1 = a.slice();
slice介绍
范围截取
var arr = [1, 2, 3, 4, 5];
var newArr = arr.slice(1, 4);
console.log(newArr); // [2, 3, 4]
从某个位置开始截取到数组末尾
var newArr = arr.slice(1);
console.log(newArr); // [2, 3, 4, 5]
整个截取
var newArr = arr.slice();
console.log(newArr); // [1, 2, 3, 4, 5]
方法二:concat()
var b2 = [].concat(a);
方法三:JSON.parse(JSON.stringify())
//这个不管是基本类型的数组还是引用类型的数组都适用
var b3 = JSON.parse(JSON.stringify(a));
网友评论