数组中常用的也就是增``````删``````插``````查``````排序``````连接``````拷贝
增
从尾部添加元素
let array = [1,2,4];
array.push(5);
console.log(array); // 1,2,4,5;
从头部添加元素
let array = [1,2,4];
array.unshift(5);
console.log(array); // 5,1,2,4
利用splice来增加数组中的元素
let array = [1, 2, 3, 4];
let newArray = array.splice(4, 3, 5, 6, 7);
//其中可以看到splice(4,3,5,6,7)这里4是代表索引位置,从第4位开始包括第4位,3增加个数,后面就是增加的内容
console.log(newArray) // []
console.log(array) // [1,2,3,4,5,6,7];
其实splice也就是替代,插入的方法罢了!
删
从尾部删除元素
let array = [1,2,3,4,5];
array.pop();
console.log(array) // [1,2,3,4]
从头部删除元素
let array = [1,2,3];
array.shift();
console.log(array) // [2,3,4]
同样也可以用splice进行删除;
同上我们可以看到删除和增加是对应的,但是我们在项目中除了push splice
方法用的可能还多一点,其他可能就是很少用到,可以说几乎用不到。
插、替换
插入操作也就是上面splice,插入,删除,以及替换
let array = [1,2,3,4,5,6];
// 中间删除
array.splice(2,2);
console.log(array)// 1,2,5,6
// 插入
array.splice(2,0,"3","55");
console.log(array); // 1,2,3,3,55,3,5,6
// 替换
array.splice(2,2,'a');
console.log(array) // 1,2,a,5,6
排序
这只需要注意的就是默认排序是根据字母排序的,所以数字还是要写函数返回的
let letterArray = ['ab','dd','b','z','c','zo'];
letterArray.sort();
console.log(letterArray) //["ab", "b", "c", "dd", "z", "zo"]
let numberArray = [1,5,6,22,122,4,12];
numberArray.sort((a,b)=>{
return a-b;
})
console.log(numberArray) // [1, 4, 5, 6, 12, 22, 122]
连接
在原来的方法上使用concat
let arrayOne = [1,2,3];
let arrayTwo = ["a","b"];
console.log(arrayOne.concat(arrayTwo)) // 1,2,3,a,b
拷贝
在定义的数组上,有时候会不让这个数组改变而定义一个新的数组。这个时候需要把握住怎样去做,不改变原数组。
直接赋值会改变原数组
let array = [1, 2, 3];
let newArray = array;
newArray.push(1);
console.log(array) // 1, 2, 3,1
console.log(newArray) // 1, 2, 3,1
利用slice深拷贝数组,原数组不改变
let array = [1, 2, 3];
let newArray = array.slice();
newArray.push(1);
console.log(array) // 1, 2, 3
console.log(newArray) // 1, 2, 3,1
利用es6新增的解构赋值,同样也不会改变原数组
let array = [1, 2, 3];
let newArray = [...array];
newArray.push(1);
console.log(array) // 1, 2, 3
console.log(newArray) // 1, 2, 3,1
查
查询一般就是查询一个数组中是否含有某个元素,在有就是查找这个元素在这个数组中的位置拿到索引值
find
查找元素
let array = [1,4,6,8,3];
let newArray = array.find((item,index)=>{
if(item === 4){
return true;
}
return false;
})
console.log(newArray) // 4
If 查询的数组中没有这个数则会返回undefined
includes
和find
相差不多,是检测数组中的元素
let array = [1, 2, 3, 4];
console.log(array.includes(2)) // true
findIndex
查找元素的索引值
let array = [1,4,6,8,3];
let newArray = array.findIndex((item,index)=>{
if(item === 4){
return true;
}
return false;
})
console.log(newArray) // 1
同样如果查询不到返回也是undefined
有相同的作用于字符串的就是indexOf
用来查询字符串中值得索引
let array = "1,4,6,8,3";
let newArray = array.indexOf(4)
console.log(newArray) // 3
本文连接:http://www.wangcanghai.cn/detailes?id=601a1985a455b911dc4377bf
访问博主发现新世界
后续也会持续更改