通过示例解释所有 JavaScript 数组方法( 五 )

console.log(date.toLocaleString());// Output : 10.4,9/1/2022, 12:00:00 AMconsole.log(date.toLocaleString("en"));// Output : 10.4,9/1/2022, 12:00:00 AMconsole.log(date.toLocaleString("es"));// Output : 10,4,1/9/2022, 0:00:0036. toReversed
创建一个新数组 , 其中,按相反顺序包含调用方数组的元素 。
它类似于“reverse”方法,但它返回一个新数组而不修改调用者数组 。
const numbers = [1, 2, 3];const reversedNumbers = numbers.toReversed();console.log(reversedNumbers); // Output : [3, 2, 1]console.log(numbers); // Output : [1, 2, 3]37. toSorted
创建一个新数组,其中包含按给定回调排序的调用者数组的元素 。
它类似于“sort”方法,但它返回一个新数组而不修改调用者数组 。
const numbers = [10, 100, 20, 25, 30];/** Sort number in ascendent order. Sort a after b. */const numbersInAscOrder = numbers.toSorted((a, b) => a - b);console.log(numbersInAscOrder); // Output : [10, 20, 25, 30, 100]console.log(numbers); // Output : [10, 100, 20, 25, 30]/** Sort number in descendant order. Sort b after a */const numbersInDescOrder = numbers.toSorted((a, b) => b - a);console.log(numbersInDescOrder); // Output : [100, 30, 25, 20, 10]console.log(numbers); // Output : [10, 100, 20, 25, 30]38. toSpliced
创建一个新数组,其中包含调用方数组的元素以及已替换或删除的元素 。
它类似于“splice”方法,但它返回一个新数组而不修改调用者数组 。
负索引表示从最后一个开始计数(例如:-1 是最后一个元素) 。
let numbers = [1, 0, 0, 0, 1];/** Remove elements from index 1 to 3 elements further ([0, 0, 0]) */const splicedNumbers1 = numbers.toSpliced(1, 3);console.log(splicedNumbers1); // Output : [1, 1]console.log(numbers); // Output : [1, 0, 0, 0, 1]/** Replace elements by 2, 2, 2 from index 1 to index 3 included ([0, 0, 0]) */const splicedNumbers2 = numbers.toSpliced(1, 3, 2, 2, 2);console.log(splicedNumbers2); // Output : [1, 2, 2, 2, 1]console.log(numbers); // Output : [1, 0, 0, 0, 1]/** Add elements 2, 2, 2 at index 1 */const splicedNumbers3 = numbers.toSpliced(1, 0, 2, 2, 2);console.log(splicedNumbers3); // Output : [1, 2, 2, 2, 0, 0, 0, 1]console.log(numbers); // Output : [1, 0, 0, 0, 1]39.  toString
通过将所有元素连接到字符串,同时用逗号分隔每个元素并返回字符串,将所有元素转换为区域设置字符串 。
const letters = ["a", "b", "c", "d"];/** Join all letters together with default separator comma */console.log(letters.toString());// Ouput : a,b,c,d40. unshift
将元素添加到数组中第一个元素之前 。
const numbers = [3, 4];numbers.unshift(0, 1, 2);console.log(numbers); // Output : [0, 1, 2, 3, 4]41.  values
返回一个迭代器,该迭代器迭代数组中每个项目的值 。
const letters = ["a", "b"];const letterIterator = letters.values();console.log(letterIterator.next().value); // Output : aconsole.log(letterIterator.next().value); // Output : bconsole.log(letterIterator.next().value); // Output : undefined42.  with
创建一个新数组,其中包含调用方数组的元素以及给定索引处替换的给定值 。
负索引表示从最后一个开始计数(例如:-1 是最后一个元素) 。
const letters = ["a", "k", "c", "d"];/** replace k at index 1 with b */console.log(letters.with(1, "b"));// Output : ["a", "b", "c", "d"]/** replace k at index -3 (equivalent to 1) with b */console.log(letters.with(-3, "b"));// Output : ["a", "b", "c", "d"]结论
以上就是42个数组的全部方法的分享,希望这期内容对你有所帮助 。
另外,就是我们在编写任何处理数组的代码之前,请考虑可重用性并检查是否已经存在可以使用的现有方法 。
我自己最常用的数组方法是:filter、map、reduce、some 和 every 。
如果你也有自己最常用的数组方法 , 欢迎在留言区给我们大家一起来分享 。


推荐阅读