javascript优化数组,提升性能。
1. map() - 转换数组元素map()方法创建一个新数组,其结果是对原数组中的每个元素调用提供的函数后的返回值。// 将数组中的每个数字翻倍 const numbers = [1, 2, 3, 4]; const doubled = numbers.map(num => num * 2); // 结果: [2, 4, 6, 8] 2. filter() - 筛选数组元素filter()方法创建一个新数组,其中包含通过所提供函数测试的所有元素。// 筛选出所有偶数 const numbers = [1, 2, 3, 4, 5, 6]; const evens = numbers.filter(num => num % 2 === 0); // 结果: [2, 4, 6] 3. reduce() - 累积计算reduce()方法对数组中的每个元素执行一个由您提供的reducer函数,将其结果汇总为单个返回值。// 计算数组元素的总和 const numbers = [1, 2, 3, 4]; const sum = numbers.reduce((total, current) => total + current, 0); // 结果: 10 4. forEach() - 遍历数组forEach()方法对数组的每个元素执行一次提供的函数,但不返回新数组。// 打印数组中的每个元素 const fruits = ['apple', 'banana', 'cherry']; fruits.forEach(fruit => console.log(fruit)); // 输出: // apple // banana // cherry 5. find() - 查找元素find()方法返回数组中满足提供的测试函数的第一个元素的值,如果没有找到,则返回undefined。// 查找第一个大于2的数字 const numbers = [1, 2, 3, 4, 5]; const firstOver2 = numbers.find(num => num > 2); // 结果: 3
6. some() - 检查是否有元素满足条件some()方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。
//检查是否有偶数
const numbers=[1,3,5,6,7];
const hasEven=numbers.some(num=>num%2===0);
//结果:true
7. findIndex() - 查找元素的索引findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。如果没有满足条件的元素,则返回-1。 //查找第一个大于3的元素的索引 const numbers=1,2,3,4,5]; const index=numbers.findIndex(num=>num>3); //结果:3(对应元素值4的索引)
8. slice() - 提取数组的一部分slice()方法返回一个新的数组对象,这一对象是一个由start和end决定的原数组的浅拷贝(包括start,不包括end)。 //提取数组的一部分 const fruits=['apple','banana','cherry,'date','elderberry']; const selectedFruits =fruits.slice(1,4); // 结果:['banana','cherry','date']
9. 链式调用——组合使用方法 // 找出所有偶数,将它们翻倍,然后计算总和 const numbers = [1, 2, 3, 4, 5, 6]; const result = numbers .filter(num => num % 2 === 0) // [2, 4, 6] .map(num => num * 2) // [4, 8, 12] .reduce((sum, num) => sum + num, 0); // 24
10. 检查是否有偶数 将每个数字变成它自己和它的平方的数组,然后扁平化
const numbers=[1,2,3];
const mappedAndFlattened =numbers.flatMap(num => [num, num * num]);
//结果:[1,1,2,4,3,9] //结果:true
11. every() - 检查所有元素是否满足条件every()方法测试一个数组内的所有元素是否都能通过指定函数的测试。 11检查是否所有数字都大于0 const numbers=1,2,3,4,5]; const allPositive=numbers.every(num=>num>0); //结果:true
12. includes() - 检查数组是否包含某个值includes()方法确定数组中是否包含某个指定的值,并相应地返回true或false。 检查数组是否包含特定值 const fruits=l'apple','cherry','banana']; const hasBanana=fruits.includes('banana'); //结果:true
13. flat() - 扁平化嵌套数组flat()方法创建一个新数组,其中所有子数组元素递归地连接到指定深度。 // 扁平化嵌套数组 const nestedArray=[1,[2,3],[4,[5,6]]]; const flatArray=nestedArray.flat(2); //结果:[1,2,3,4,5,6]