** // 数组检测**
includes :判断一个数组是否包含某个指定的值,根据情况返回true或false
const containsTwo = [1, 2, 3].includes(2);
console.log(containsTwo); // 输出: true
every:测试数组的所有元素是否都通过了指定函数的测试
const allEvenNumbers = [2, 4, 6].every(item => item % 2 === 0);
console.log(allEvenNumbers); // 输出: true
some: 测试数组中的某些元素是否至少有一个通过了由提供的函数实现的测试。
const hasEvenNumber = [1, 2, 3, 4].some(item => item % 2 === 0);
console.log(hasEvenNumber); // 输出: true
find:返回数组中满足测试函数的值。如果没有找到,则返回undefined。
const found = [1, 2, 3, 4].find(item => item > 2);
console.log(found); // 输出: 3
findIndex: 返回数组中满足提供的测试函数的第一个元素的索引。如果没有找到,则返回 - 1。
const index = [1, 2, 3, 4].findIndex(item => item > 2);
console.log(index); // 输出: 2
// 常用的数组遍历方法
forEach: 对数组中的每个元素执行一次提供的函数
[1, 2, 3].forEach((item, index) => console.log(item, index));
// 输出: 1 0, 2 1, 3 2
map:创建一个新数组,其结果是该数组中的每个元素都调用一次后返回的值。
const doubled = [1, 2, 3].map(item => item * 2);
console.log(doubled); // 输出: [2, 4, 6]
filter:创建一个新数组,包含所有通过所提供函数实现的测试的所有元素。
const evenNumbers = [1, 2, 3, 4].filter(item => item % 2 === 0);
console.log(evenNumbers); // 输出: [2, 4]
reduce: 对数组中的每个元素执行一个reducer函数(升序执行),将其结果汇总为单个返回值。
const sum = [1, 2, 3, 4].reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 输出: 10
// 添加和删除元素的方法
push:在数组末尾添加一个或多个元素,并返回数组新的长度
const length = [1, 2, 3].push(4);
console.log(length); // 输出: 4
pop: 从数组中删除最后一个元素,并返回该元素
const lastItem = [1, 2, 3].pop();
console.log(lastItem); // 输出: 3
unshift: 在数组开头添加一个元素,并返回数组新的长度
const length = [1, 2, 3].unshift(4);
console.log(length);//输出:4
shift: 从数组中删除第一个元素,并返回该元素。
const firstItem = [1, 2, 3].shift();
console.log(firstItem); // 输出: 1
splice: 改变数组的内容,通过移除或替换现有元素以及 / 或者添加新元素。
const removedItems = [1, 2, 3, 4].splice(1, 2, 'a', 'b');
console.log(removedItems); // 输出: [2, 3]
数组排序和转换
sotr: 对数组元素进行原地排序并返回排序后的数组
[1, 5, 2].sort((a, b) => a - b);
console.log([1, 5, 2]); // 输出: [1, 2, 5]
reverse:将数组中的元素颠倒顺序。
[1, 2, 3].reverse();
console.log([1, 2, 3]); // 输出: [3, 2, 1]
数组合并
concat:用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const newArray = [1, 2].concat([3, 4]);
console.log(newArray); // 输出: [1, 2, 3, 4]
slice: 提取一个数组的一部分到一个新的数组对象中,并返回这个新数组
const sliced = [1, 2, 3, 4].slice(1, 3);
console.log(sliced); // 输出: [2, 3]
判断是否是数组
1.ES6的Array.isArray判断
Array.isArray(this.dataList) //是返回true,不是返回false
Array.prototype.isPrototypeOf判断
Array.prototype.isPrototypeOf(this.dataList) //是返回true,不是返回false