start:日常开发常用的一些数组方法,罗列一遍加强记忆
0、Array.isArray()
Array.isArray([1,2,3])
Array.isArray({1,2,3})
1、toString()
let array = ['中国','美国','日本','英国','德国'];
let val = array.toString();
2、join()
- 不改变原数组
- 将数组转换为连续字符串,可以自定义分隔符
let array = ['red','yellow','green','black','link'];
let val = array.join(" \ ");
3、push()
let array = ["Banana", "Orange", "Apple", "Mango"];
array.push("china");
4、pop()
let array = ["Banana", "Orange", "Apple", "Mango"];
array.pop();
5、shift()
let array = ["Banana", "Orange", "Apple", "Mango"];
array.shift("jappan");
6、unshift()
let array = ["Banana", "Orange", "Apple", "Mango"];
array.unshift();
7、length
- 数组长度
- length 属性提供了向数组追加新元素的简易方法:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";
8、splice(index,count,value)
- 原数组改变
- **添加或删除数组中的指定元素,添加/删除/替换 **
- 从索引为index处删除count个元素,插入value
1、第一个参数为一个整数,用来指定添加/删除元素的位置(下标),可为负数,从数组末尾开始 必选参数
2、第二个参数为需要删除元素的数量,可设置为0,不删除 可选参数
3、第三个开始后面的所有参数为需要添加的内容 可选参数
let arr = [1,2,3,4,5];
arr.splice(0,1)
arr.splice(2,2)
arr.splice(1,0,9)
arr.splice(2,1,6)
9、reverse()
let arr = [1,2,3]
arr.reverse()
10、sort()
- 改变原数组
- 数组排序
- 默认按字母排序为升序
- 如遇到非字符串字符,先调用toString()方法将元素转换为字符串,在进行字符串排序
- 参数为规定排序的比较函数(可选项)
let arr = ["A", "C", "B", "E", "D"]
arr.sort()
let arr1 = [1, 0, 5, 4, 9, 45, 78, 6, 14, 2];
arr1.sort((a,b) => a - b )
arr1.sort((a,b) => b - a )
let arr4 = [
{ age: 18, sex: 0 },
{ age: 19, sex: 0 },
{ age: 20, sex: 0 },
{ age: 18, sex: 1 },
{ age: 19, sex: 1 },
]
arr4.sort((a, b) => {
if (a.age == b.age) {
return a.sex - b.sex
} else {
return a.age - b.age
}
})
[
{ age: 18, sex: 0 },
{ age: 18, sex: 1 },
{ age: 19, sex: 0 },
{ age: 19, sex: 1 },
{ age: 20, sex: 0 }
]
11、splice(start,end)
1、第一个参数位开始的索引(必填)
2、第二个参数位结束的索引(可选) (截取不包括第二个索引)
let arr5 = [1,2,3,4,5]
let result = arr5.splice(1,3)
console.log(result)
console.log(arr5)
arr5.slice(0)
arr5.slice(1)
arr5.slice(-2)
arr5.slice(2,4)
arr5.slice(-1,1)
arr5.slice(1,-2)
arr5.slice(-4,-2)
12、indexOf(value)
1、从索引0开始检索,检查数组中是否包含value,有则返回匹配到的第一个索引,没有则返回-1
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'e', 'e', 'i']
arr.indexOf(e)
arr.indexOf(g)
console.log(arr)
let arr1 = []
for(let i = 0; i < arr.length; i++){
if(arr1.indexOf(arr[i]) < 0){
arr1.push(arr[i])
}
}
console.log(arr1)
13、lastIndexOf(value)
1、从最后的索引开始,检查数组是否包含value,有的话返回匹配到的第一个索引(也可以说是返回最后一个索引),没有返回-1
2、语法与indexOf相同
3、也可以用该方法实现数组去重
14、concat(value)
let a = ['a','b'] , b = [1,2], c = ['中国','小日本']
a.concat(b,c).sort()