1.添加
push:向数组的末尾增加一项 返回值是数组的新长度
unshift:向数组开头增加一项 返回值是数组的新长度
2.删除
pop:删除数组的末尾项 返回值是删除的数组项
shift:删除数组开头项 返回被删除的开头项目
splice: arr.splice(num1,num2); num1是起始位置的下标,num2是个数,返回的值是 arr 截取掉的元素组成的数组,例:
let arr = [5,4,3,2,1]; let spliceArr = arr.splice(1,3); console.log(arr); // [5,1] console.log(spliceArr); // [4,3,2]
3.复制
slice: arr.slice(num1,num2); num1是起始位置的下标,num2是结束位置的下标,操作后原数组不变,返回的值是 arr 中下标为num1的元素到下标为num2-1的元素组成的数组,例:
let arr = [5,4,3,2,1]; let sliceArr = arr.slice(1,3); console.log(arr); // [5,4,3,2,1]
console.log(sliceArr); // [4,3]
4.拼接
concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组,例:
let arr1 = [3,2,1],arr2 = ["c","b","a"]; let concatArr= arr1.concat(arr2); console.log(concatArr); //[3,2,1,"c","b","a"]
join:把数组中的每一项 按照指定的分隔符拼接成字符串,例:
let arr1 = [1,2,3,4,5]; let joinArr1 = arr1.join('.'); let joinArr2 = arr1.join('*'); console.log(joinArr1); // 1.2.3.4.5 console.log(joinArr2); // 1*2*3*4*5
5.排序
reverse:倒序数组,返回值为倒序数组,原有数组改变
sort:根据匿名函数进行冒泡排序,b-a降序,a-b升序,原有数组改变。需要注意的是 sort 方法只对每一个元素为数字的数组有效,例:
let arr1 = [6,73,3,67,234,2],arr2 = ["w","e","r","t","y","u"]; let sortArr1 = arr1.sort((a,b) => {return a-b}); let sortArr2 = arr2.sort((a,b) => {return a-b}); console.log(arr1,sortArr1); //[2,3,6,67,73,234] [2,3,6,67,73,234]
console.log(arr2,sortArr2); //["w","e","r","t","y","u"] ["w","e","r","t","y","u"]
6.索引
indexOf:返回获取项在数组中的下标
lastIndexOf:返回获取项在数组中出现的最后一次下标
例:
let arr = [6,73,2,67,234,2]; console.log(arr.indexOf(2)); // 2 console.log(arr.lastIndexOf(2)); // 5
7.遍历
forEach: 循环遍历数组,参数是一个匿名函数,默认返回为undefined,例:
let arr = [6,73,2,67,234,2]; let forEachArr = arr.forEach( // 默认a为value,b为索引 (a,b) => {console.log(a,b)} // 6 0 73 1 2 2 67 3 234 4 2 5 ); console.log(forEachArr); // undefined
map:循环遍历数组,参数是一个匿名函数,默认返回一个每一个元素都是undefined的数组,例:
let arr = [6,73,2,67,234,2]; let mapArr = arr.map( // 只传一个a,则是value (a) => {console.log(a)} // 6 73 2 67 2234 2 ); console.log(mapArr); // [undefined,undefined,undefined,undefined,undefined,undefined]
以上就是今天总结的数组常用方法,如有表述不准确之处,欢迎指正,欢迎补充,感谢阅读。