数组方法:
【1】length 属性 动态获取数组长度
let arr = [1,2,3,4]
console.log(arr.length); // 4
【2】join 将数组转成字符串。返回一个字符串。也可以通过指定的分隔符分割成新的字符串
let arr = [1,2,3,4]
console.log(arr.join()); // 1,2,3,4
let arr = [1,2,3,4,5];
let str = arr.join('-');
console.log(str) // 1-2-3-4-5;
【3】reverse 将数组中各元素颠倒顺序
let arr = [1,2,3,4]
console.log(arr.reverse()); // [ 4,3,2,1 ]
【4】split 用指定的分隔符,将字符串分割成数组。
let str = 'a/b/c/def/g';
let arr = str.split('/');
console.log(arr); // ['a', 'b', 'c', 'def', 'g']
【5】concat 连接数组,返回连接后的数组
let arrA = [1,2,3];
let arrB = [4,5,6];
let arrC = arrA.concat(arrB);
console.log(arrC); // [1,2,3,4,5,6];
【6】shift 删除数组中第一个元素,返回删除的那个值,并将长度减 1。
let arr = [1,2,3,4];
console.log(arr.shift()); // 1
【7】pop 删除数组中最后一个元素,返回删除的那个值,并将长度减 1。
let arr = [1,2,3,4]
console.log(arr.pop()); // 4
【8】unshift 数组前面添加一个或多个元素 , 返回添加元素后的数组长度
let arr = [1,2,3,4]
console.log(arr.unshift(9)); // 5
【9】push 数组结尾添加一个或多个元素 , 返回添加元素后的数组长度。
let arr = [1,2,3,4]
console.log(arr.push(9)); // 5
【10】slice 返回数组的一部分 , 从数组中截取指定的字段,返回截取出来的字段,放到新的数组中,不改变原数组。
slice(a,b )表示从下标为a的元素开始截取,一直截取到下标为b的元素结束(不包括下标为b的元素)。
slice(a)表示从下标为a的元素开始截取,一直截取到最后。
slice( )表示截取数组中的全部元素
let arr = [1,2,3,4];
console.log(arr.slice(2,3)); // [3]
console.log(arr.slice(2)); // [3,4]
console.log(arr.slice()); // [1,2,3,4]
【11】sort 对数组元素进行排序
let arr = [1,4,2,5,3];
console.log(arr.sort()); // [1,2,3,4,5]
【12】splice 插入、删除或替换数组的元素,返回的是被删除元素组成的新数组或者空数组
1. splice(a,b) 从下标为a的元素开始删除,删除b个元素
2. splice(a,b,c) 删除并添加 从下标为a的元素开始删除,删除b个元素,并在该位置添加元素c
3. splice(a,0,c,d)添加 从下标为a的元素前添加元素c,d
//1. splice(a,b) 从下标为a的元素开始删除,删除b个元素
let arr = [1,2,3,4,5];
console.log(arr.splice(3,2)); // [4,5]
console.log(arr); // [1, 2, 3]
//2. splice(a,b,c) 删除并添加 从下标为a的元素开始删除,删除b个元素,并在该位置添加元素c
let arr = [1,2,3,4,5];
console.log(arr.splice(1,2,9)); // [2,3]
console.log(arr); // [1, 9, 4, 5]
//3. splice(a,0,c,d)添加 从下标为a的元素前添加元素c,d
let arr = [1,2,3,4,5];
console.log(arr.splice(2,0,7,8,9)); // []
console.log(arr); // [1, 2, 7, 8, 9, 3, 4, 5]
【13】toString 将数组转换成一个字符串
let arr = [1,2,3,4,5];
console.log(arr.toString()); // 1,2,3,4,5
【14】filter 过滤数组中符合条件的元素
let arrA = [1,2,3,4,5];
let arrB = arrA.filter(function(item, index) {
if (item > 3) {
return true;
}
})
console.log(arrB); // [4, 5]
【15】forEach 遍历数组中所有元素,没有返回值,就是循环
let arr = [1,2,3,4,5];
arr.forEach(function(item, index) {
if(item>3)
console.log(arr); // [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 循环了两次
})
【16】every 判断数组中是否所有元素都符合条件,如果全都满足,返回true,否则返回false
let arrA = [1, 2, 3,4];
let arrB = arrA.every(function(item, index) {
if (item < 5) {
return true;
}
})
console.log(arrB); // true
【17】some 判断数组中是否有符合条件的元素,只要符合条件的元素,就返回true,没有符合条件的元素,就返回false
let arrA = [1, 2, 3];
let arrB = arrA.some(function(item, index) {
if (item < 2) {
return true;
}
})
console.log(arrB); // true
【18】 find 找到符合条件的元素,并且返回符合条件的第一项
let arr = [
{ id: 1, name: "aa" },
{ id: 2, name: "bb" },
{ id: 3, name: "cc"},
{ id: 4, name: "dd"}
];
let res = arr.find(function(item){
if(item.id>2){
return item.id
}
})
console.log(res); //{id: 3, name: 'cc'}
【19】findIndex 找到符合条件的符合条件的元素的索引,并且返回符合条件的第一个元素的索引,如果没有符合条件的元素返回 -1
let arr = [
{ id: 1, name: "aa" },
{ id: 2, name: "bb" },
{ id: 3, name: "cc"},
{ id: 4, name: "dd"}
];
let res = arr.findIndex(function(item) {
if(item.id===5){
return item.id;
}
});
console.log(res); // -1
【20】map 对元素重新组装,返回新数组,新数组的长度和原数组长度相等
let arrA = [1,2,3,4,5];
let arrB = arrA.map(function(item,index){
return 'a'+ item;
})
console.log(arrB); // ['a1', 'a2', 'a3', 'a4', 'a5']
【21】indexOf 查看元素在数组中第一次出现的索引
let arr = [1,2,3,2]
console.log(arr.indexOf(2)); // 1
【22】lastIndexOf 查看元素在数组中最后一次出现的索引
let arr = [1,2,3,2]
console.log(arr.lastIndexOf(2)); // 3
【23】includes 查看数组中是否存在这个元素,存在就返回true,不存在就返回false
let arr = [1,2,3,2]
console.log(arr.includes(3)); // true