Array 常用方法总结
查询和拼接
concat
- 作用
concat() 用于连接两个或多个数组(数组拼接)
- 返回
返回一个新的数组(合并后的)
- 语法
let arr1 = [1], arr2 = [2], arr3 = [3]
let arr = arr1.concat(arr2,arr3) // 需要一个新的变量用于接收
console.log(arr) //[1, 2, 3]
slice
- 作用
slice() 从已有的数组种返回选的的元素
- 返回
返回一个新的数组,包含start到end(不包含end)的array
- start,必须;从开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,(-1) 指最后一个元素,-2 指倒数第二个元素,以此类推。
- end 可选; 从end处结束,不包含end
- 语法
let arr = [1,2,3,4,5];
let res = arr.slice(1, 3); //需要一个新的变量用于接收
let res2 = arr.slice(1);
let res3 = arr.slice(-2);
console.log(res) //[2, 3]
console.log(res2) //[2, 3, 4, 5]
console.log(res3) // [4,5]
增删改
push
-
作用
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。与unshift相反
-
返回
指定的值push后数组的新长度(原始数据改变)
-
语法
let arr = [1,2,3]; let str = 4 arr.push(str) console.log(arr) // [1,2,3,4]
unshift
-
作用
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。与push想反
-
返回
返回改变后的数组长度(原始数组改变)
-
语法
let arr = [1,2,3];
let str = 'abc'
let res = arr.unshift(str)
console.log(arr) // ['abc', 1, 2, 3]
console.log(res) // 4
pop
-
作用
pop() 删除数组最后一项元素,并将删除后的原数组返回回来
-
返回
将删除后的元素返回回来(原始数组改变)
-
语法
let arr = [1,2,3]; let res = arr.pop(arr) console.log(arr) // [1, 2] console.log(res) // 3
shift
-
作用
shift() 删除数组第一项元素
-
返回
返回被删除的那一项元素(原始数组改变)
-
语法
let arr = [1,2,3]; let res = arr.shift() console.log(arr) // [2, 3] console.log(res) // 1
splice
-
作用
splice() 方法向/从数组中添加/删除项目,然后。
-
返回
返回被删除的项目(原始数组改变)
-
语法
- 参数
*index 从索引index开始*howmany 要删除的数量,0则不删除- item 向数组插入的新元素
let arr = [1,2,3,4,5]; let res = arr.splice(1,3,'hehe'); console.log(res) //[2, 3, 4] console.log(arr) //[1, "hehe", 5] - 参数
转换为字符串
join
-
作用
把数组中的所有元素放入一个字符串,元素可以通过指定分隔符进行分隔
-
返回
- 参数
- separator:指定需要使用的分隔符,如果不传默认逗号分隔
返回一个字符串,字符串根据自己指定的分隔符分隔(原数组不变)
- 参数
-
语法
let arr = [1,2,3,4,5] let res = arr.join('@@@') console.log(arr) //[1, 2, 3, 4, 5] console.log(res) //1@@@2@@@3@@@4@@@5
toString
-
作用
数组转换字符串
-
返回
先将数组里的元素转换为字符串,然后逗号拼接(原始值不变)
-
语法
let arr = [1,2,3] let arr2 = [{name:"zs",age:18},{name:'ls', age:19}] let res = arr.toString() let res2 = arr2.toString() console.log(arr) //[1, 2, 3] console.log(res) // 1,2,3 console.log(res2) // [object Object],[object Object]
排序
reverse
-
作用
reverse() 颠倒(反转)数组中元素的顺序。(把原始数组倒过来排列)
-
返回
排列后的原始数组(原始数组改变)
-
语法
let arr = [1,2,3,4,5]
let res = arr.reverse()
console.log(arr) //[5, 4, 3, 2, 1]
console.log(res) //[5, 4, 3, 2, 1]
sort
-
作用
对数组的元素按照字符编码进行排序
-
返回
- 参数
- sortby:规定的排序顺序,必须是函数
- 参数
-
特殊说明
-
如果想要按照标准排序,就要提供比较的函数
-
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。例如:1< 11 a-b
-
若 a 等于 b,则返回 0。
-
若 a 大于 b,则返回一个大于 0 的值。
-
-
语法
let arr = [1,2,3,4,5,11,22] let res = arr.sort() console.log(arr) //[1, 11, 2, 22, 3, 4, 5] console.log(res) //[1, 11, 2, 22, 3, 4, 5] ----------------------------------------- let arr = [1,2,3,4,5,11,22] let res = arr.sort((a,b)=>a-b) console.log(arr) //[1, 2, 3, 4, 5, 11, 22] console.log(res) //[1, 2, 3, 4, 5, 11, 22]
验证包含某一项
includes
-
作用
检测数组中,是否包含指定的值
-
返回
先将数组里的元素转换为字符串 , 包含true/不包含false(不会改变原值)
- 参数
- valueToFind: 需要查找的元素值
- 参数
-
语法
let arr = [1,2,3]
let arr2 = [{name:"zs",age:18},{name:'ls', age:19}]
let res = arr.includes('2')
let res2 = arr.includes(2)
let res3 = arr.includes()
let res4 = arr2.includes({name:'zs'})
console.log(arr) //[1, 2, 3]
console.log(res) // false
console.log(res2) // true
console.log(res3) // true
console.log(res4) // undefined 因为在转换之前先将数组里的元素转换为字符串