数组作为JavaScript中的关键元素。开发人员可以通过利用数组方法来制定更简化的代码,加速Web开发。
尽管 push(), pop()和 splice()()通常被识别并广泛采用,但JavaScript阵列API还有许多其他方便的方法。
在本文中,我们将探讨10种此类方法,这些方法可能鲜为人知,但在应用程序开发的某些情况下是无价的。
1. array.from():
它可以用类似阵列的对象节省大量时间。将结节性或其他峰值结构直接转换为数组。使用DOM元素时,请使用Array.from(),并且要使用数组方法的所有功能。
let nodeList = document.querySelectorAll('div');
let arrayFromNodeList = Array.from(nodeList);
console.log(arrayFromNodeList); // Converts NodeList to Array
2. array.of():
此方法从其参数中创建了一个新数组,这是传统数组()构造函数的方便替代品。
let arrUsingArray = Array(7);
let arrUsingArrayOf = Array.of(7);
console.log(arrUsingArray); // [ <7 empty items> ]
console.log(arrUsingArrayOf); // [7]
初始化数组而没有意外结果的简洁方法。
3. array.fill():
使用填充()初始化或重置均匀值的初始化或重置阵列。
let defaultArray = new Array(5).fill('default');
console.log(defaultArray); // ["default", "default", "default", "default", "default"]
4. array.find():
在符合特定条件的数组中找到第一项的更快方法。当您只需要第一场比赛时,非常适合这些快速查找。
let numbers = [5, 12, 8, 130, 44];
let found = numbers.find(element => element > 10);
console.log(found); // 12
5. array.findindex():
findIndex(),find()的亲戚,返回符合提供的测试功能的第一个元素的索引。
let numbers = [5, 12, 8, 130, 44];
let index = numbers.findIndex(element => element > 10);
console.log(index); // 1
6. array.flat():
用flat()轻松清理多维阵列。
let nestedArray = [1, [2, 3], [4, [5, 6]]];
let flattened = nestedArray.flat();
console.log(flattened); // [1, 2, 3, 4, [5, 6]]
7. array.flatmap():
对于同时映射和扁平化,FlatMap()是必不可少的。
let arr = [1, 2, 3, 4];
let result = arr.flatMap(x => [x, x * 2]);
console.log(result); // [1, 2, 2, 4, 3, 6, 4, 8]
8. array.some():
在您只需要知道是否符合条件而不是所有元素的情况下。
let array = [1, 2, 3, 4, 5];
let check = array.some(num => num % 2 === 0);
console.log(check); // true (because there's at least one even number)
快速验证或快速检查单个真实条件就足够了。
9. Array.Reduceright():
替代()的替代方法,reduceright()从末端处理阵列。
let fruits = ["apple", "banana", "cherry", "date"];
let concatenatedFruits = fruits.reduceRight((accumulator, currentValue) => accumulator + " " + currentValue);
console.log(concatenatedFruits); // date cherry banana apple
非常适合处理顺序至关重要的唯一计算或评估。
10. array.copywithin():
copywithin()的数组中的重复段。
let numbers = [1, 2, 3, 4, 5];
let result = numbers.copyWithin(-2);
console.log(result); // [1, 2, 3, 1, 2]
它在没有外部库的数据镜像,算法实现或制作模式中很有用。
虽然更知名的方法是我们日常编码的骨干,但这些鲜为人知的方法在非常具体的情况下可能是强大的盟友。
如果您知道其他陌生的JS数组,请分享以下评论!