一、转换数组
1、将数组转化为字符串
array.toString()
eg: let arr = ['1', '2', 'tom']
console.log(arr.toString())
输出:1,2,tom
2、将数组转化为字符串,用特定符号分隔
array.join()
eg: let arr = ['1', '2', 'tom']
console.log(arr.join('?'))
输出:1?2?tom
注意: 可以替换?为其他符号分隔数组
二、删除添加数组第一项与最后一项
1、删除添加数组最后一项pop 和 push
array.pop()
eg: let arr = ['1', '2', 'tom']
let a = arr.pop()
console.log(a)
console.log(arr)
输出:tom
输出:['1', '2']
注意:这里调用pop()后返回值为删除项
array.push()
eg: let arr = ['1', '2', 'tom']
let a = arr.push('park')
console.log(a)
console.log(arr)
输出:4
输出:['1', '2', 'tom', 'park']
注意:这里调用push()后返回值添加元素后数组的长度
2、删除添加数组第一项shift()和unshift
array.shift()
eg: let arr = ['1', '2', 'tom']
let a = arr.shift()
console.log(a)
console.log(arr)
输出:'1'
输出:['2', 'tom']
注意:这里调用shift()后返回值为删除项
array.unshift()
eg: let arr = ['1', '2', 'tom']
let a = arr.unshift('park')
console.log(a)
console.log(arr)
输出:4
输出:['park', '1', '2', 'tom']
注意:这里调用unshift()后返回值添加元素后数组的长度
三、拼接添加与删除数组元素splice()
array.splice()
eg: let arr = ['1', '2', 'tom']
let a = arr.splice(1, 0, 'park')
第一个参数代表从第几个元素开始,第二个参数代表删除从第一个参数开始后几项,其余参数就是添加到参数一代表的位置后的元素
console.log(a)
console.log(arr)
输出:[]
输出:['1', 'park', '2', 'tom']
注意:这里调用splice()后返回值为删除元素的数组,这里没删除所以为[]
四、合并数组concat()
array.concat()
eg: let arr = ['1', '2', 'tom']
let arr1 = [3, 4]
let arr2 = [5, 6]
let arr3 = arr.concat(arr1, arr2)
console.log(arr3)
console.log(arr)
输出:["1", "2", "tom", 3, 4, 5, 6]
输出:['1', '2', 'tom']
注意:这里调用concat()后返回值为合并之后的数组
五、裁剪数组slice()
array.slice()
eg: let arr = ['1', '2', 'tom', 'part']
let arr1 = arr.slice(2, 2)
第一个参数代表从第几个位置开始截取,第二个参数代表往后截取到参数为止的个数(但不包括参数位置),如果只有一个参数就从参数位置开始截取到最后
console.log(arr1)
console.log(arr)
输出:["tom"]
输出:['1', '2', 'tom', 'part']
注意:这里调用slice()后返回值为截取出来的数组
六、数组排序
array.sort()
sort()对于字符串排序是用ascll码,但数字排序不准确,所以一般用函数辅助处理降序或升序排列数字
let arr = [40, 100, 1, 5, 25, 10]
let arr1 = arr.sort(function(a, b){return a - b})
let arr2 = arr.sort(function(a, b){return a - b})
console.log(arr1)
console.log(arr2)
输出:[1,5,10,25,40,100]
输出:[100,40,25,10,5,1]
array.reverse()反转数组排序
七、重点常用数组迭代方法
1、array.forEach()
let arr = [40, 100, 1, 5, 25, 10]
arr.forEach((value, index, array) => {
//value代表循环数组后每一项元素,index代表每一项元素的索引,array代表原数组
console.log(value, index, array)
输出: 40 0 [40, 100, 1, 5, 25, 10]
100 1 [40, 100, 1, 5, 25, 10]
1 2 [40, 100, 1, 5, 25, 10]
5 3 [40, 100, 1, 5, 25, 10]
25 4 [40, 100, 1, 5, 25, 10]
10 5 [40, 100, 1, 5, 25, 10]
})
2、array.map()
let arr = [40, 100, 1, 5, 25, 10]
let arr1 = arr.map((value, index, array) => {
//value代表循环数组后每一项元素,index代表每一项元素的索引,array代表原数组
console.log(value, index, array)
return value * 2
输出: 40 0 [40, 100, 1, 5, 25, 10]
100 1 [40, 100, 1, 5, 25, 10]
1 2 [40, 100, 1, 5, 25, 10]
5 3 [40, 100, 1, 5, 25, 10]
25 4 [40, 100, 1, 5, 25, 10]
10 5 [40, 100, 1, 5, 25, 10]
})
console.log(arr)
console.log(arr1)
输出: [40, 100, 1, 5, 25, 10]
[80, 200, 2, 10, 50, 20]
注意:map函数循环处理不会改变原数组,并且不会再空数组上执行
3、array.filter()
let arr = [40, 100, 1, 5, 25, 10]
let arr1 = arr.filter((value, index, array) => {
//value代表循环数组后每一项元素,index代表每一项元素的索引,array代表原数组
console.log(value, index, array)
return value > 18
输出: 40 0 [40, 100, 1, 5, 25, 10]
100 1 [40, 100, 1, 5, 25, 10]
1 2 [40, 100, 1, 5, 25, 10]
5 3 [40, 100, 1, 5, 25, 10]
25 4 [40, 100, 1, 5, 25, 10]
10 5 [40, 100, 1, 5, 25, 10]
})
console.log(arr)
console.log(arr1)
输出: [40, 100, 1, 5, 25, 10]
[40, 100, 25]
4、array.indexOf()
let arr = [40, 100, 1, 5, 25, 10]
let arr1 = arr.indexOf(100)
let arr2 = arr.indexOf(1000)
console.log(arr)
console.log(arr2)
输出: 1
-1
注意:indexOf()用来检验数组是否包含某一项,如果包含则返回该元素在数组的索引位置,如果不包含则返回值为-1,lastIndexOf()也是一样,只是寻找的顺序是从最后一项往前寻找
5、array.every()和array.some()
array.every()用来检验数组中每一项是否满足某个条件,array.some()
用来检验数组中某些是否满足某个条件。它们的返回值满足条件为true,
不满足为false,且都不会改变原数组。
6、array.includes()
includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回
true,否则false。接收两个参数,第一个参数为需要查找的元素,第二个
参数可以省略默认为0,是从0这个下标位置开始查询,也可以为负数,这时
查找开始索引位置为负数加上数据长度,如果还是为负数或0则全数组查找
,如果大于零则从该索引位置查找
eg:
var arr = ['a', 'b', 'c']
arr.includes('c', 3) //false
arr.includes('c', 100)// false
// 数组长度是3
// fromIndex 是 -100
// computed index 是 3 + (-100) = -97
var arr = ['a', 'b', 'c']
arr.includes('a', -100) // true
arr.includes('b', -100) // true
arr.includes('c', -100) // true