一、一些基本的数组方法
1、push() 往数组的最后一位添加元素
2、pop() 删除数组最后一位元素
3、shift() 删除数组第一位元素
4、unshift() 给数组第一位添加元素
5、concat() 合并数组
var arr = [1, 2, 3];
var arr1 = [100,200,300]
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
arr.pop();
console.log(arr); // [1, 2, 3]
arr.shift();
console.log(arr); // [2, 3]
arr.unshift(1);
console.log(arr); // [1, 2, 3]
arr = arr.concat(arr1);
console.log(arr); // [1, 2, 3, 100, 200, 300]
6、splice()
(1) 如果有两个参数,表示执行删除当前元素的某一元素
splice( i , length);
第一个参数i:下标索引
第二个参数length:长度
(2) 如果有三个参数,表示要替换数组中某一个元素
splice( i , length , text)
第一个参数i:下标索引
第二个参数length:长度
第三个参数text:要替换的内容
var arr = ['迪迦', '盖亚', '戴拿', '梦比优斯'];
arr.splice(0, 1); // 只删除从arr[0]开始的1个
console.log(arr); // ['盖亚', '戴拿', '梦比优斯']
arr.splice(1, 1, "贝利亚") // 将arr[1]替换为 贝利亚
console.log(arr); // ['盖亚', '贝利亚', '梦比优斯']
arr.splice(1, 2, "欧布") // 将a[1]、a[2] 替换为一个 欧布
console.log(arr); // ['盖亚', '欧布']
arr.splice(1, 1, '维克托利', '捷德'); // 把a[1]替换为 维克托利 在后面添加一个元素 捷德
console.log(arr); // ['盖亚', '维克托利', '捷德']
7、slice() 数组的截取
两个参数:
slice(a , b);
a:表示起始下表位置
b:表示结束下表位置(不包含b)
var arr = [10, 20, 30, 40, 50];
var newArr = [];
newArr = arr.slice(1, 3); // 表示截取arr[1]~arr[3] 但不包括arr[3]
console.log(newArr); // [20, 30]
newArr = arr.slice(2,) // 表示截取从arr[2] 到数组最后一位
console.log(newArr); // [30, 40, 50]
var arr1 = [1,2,3,4];
8、join()
将数组中的元素,用传入的拼接符拼接成一个字符串,返回结果是一个字符串
var arr = ['hello','world','JavaScript'];
var a = arr.join(' ');
console.log(a); // hello world JavaScript
9、reverse() 反转数组
var arr = [1,2,3,4,5,6];
arr.reverse();
console.log(arr); // [6, 5, 4, 3, 2, 1]
10、split() 将字符串分割为数组
用传入的拼接符将字符串分割为字符串数组
var str = 'hello world JavaScript';
var arr = str.split(' ');
二.ES6中的数组方法
格式:
数组.方法((item, index, array)=> { // item 表示数组中每一项 index下标索引 array原数组
return 条件
})
1、some
当一个数组中只要有一个元素能够匹配,则返回true,反之返回false
eg:
const arr = [3, 6, 9, 9, 12]
const result = arr.some(item => item > 3) //true
const result2 = arr.some(item => item > 12) // false
console.log(result,result2);
2、every
当一个数组中所有的元素都匹配,则返回true,反之返回false
eg:
const date = [
{
name: '张三',
age: 19,
sex: '男'
}, {
name: '小红',
age: 20,
sex: '女'
}
]
const result = date.every(item => item.sex == '男')
const result2 = date.every(item => item.age > 18)
console.log(result, result2); // false true
3、map
根据现有数组生成一个长度相同的 新数组
4、filter
对数组进行筛选 返回符合条件的 新数组
5、find
对当前数组进行查询 找到符合条件的元素 只返回第一个匹配到的元素
eg:
const arr = [1, 2, 3]
const result = arr.find(item => item >= 2)
console.log(result); // 2
6、findIndex
对当前数组进行查询 找到符合条件的元素下标索引
只返回第一个匹配到的元素下标
没有找到则返回-1s
eg:
const arr = [1, 2, 3]
const result = arr.findIndex(item => item >= 2)
console.log(result); // 1
以上是我自己总结的在JS中一些常用的数组方法,在Vue项目或者移动端项目中也有较多的登场率,如果有错误请大家指正。