数组是 javascript 编程的重要组成部分,提供了一种存储和操作数据集合的强大方法。在本文中,我们将探讨每个 javascript 程序员都应该知道的 18 种基本数组方法,以便编写更高效、更清晰的代码。
arr.push(..element) 方法将一个新元素添加到数组末尾并返回数组的新长度。这个方法改变了原来的数组。
语法:
arr.push(element1, element2, …)
示例:
let arr = [1, 2, 3]; arr.push(4); // arr agora é [1, 2, 3, 4]
arr.pop() 方法从数组中删除最后一个元素并返回删除的元素。此方法还会更改原始数组及其长度。
语法:
arr.pop()
示例:
let arr = [1, 2, 3, 4]; arr.pop(); // arr agora é [1, 2, 3]
arr.shift() 方法从数组中删除第一个元素并返回删除的元素。此方法还会改变原始数组的长度。
立即学习“Java免费学习笔记(深入)”;
语法:
arr.shift()
示例:
let arr = [1, 2, 3, 4]; arr.shift(); // arr agora é [2, 3, 4]
arr.unshift(elements) 方法将一个或多个元素添加到数组的开头并返回数组的新长度。
语法:
arr.unshift(item1, item2, …)
示例:
let arr = [2, 3, 4]; arr.unshift(1); // arr agora é [1, 2, 3, 4]
arr.splice() 方法通过删除、替换或添加元素来修改原始数组。
语法:
array.splice(start[, deletecount[, item1[, item2[, ...]]]])
示例:
let arr = [1, 2, 3, 4]; arr.splice(null, 1); // arr agora é [1, 3, 4]
arr.slice() 方法选择数组的一部分并返回一个新数组,其中的项目从开始索引复制到末尾。原来的数组没有改变。
语法:
arr.slice(start, end)
示例:
let arr = [1, 2, 3, 4]; let newarr = arr.slice(null, 3); // newarr é [2, 3]
arr.includes(item, index) 方法检查该项目是否存在于给定索引的数组中,如果找到则返回 true,否则返回 false。
语法:
arr.includes(item, index)
示例:
let arr = [1, 2, 3, 4]; arr.includes(3); // true
arr.foreach() 方法为数组的每个元素执行一次给定的函数。
语法:
arr.foreach(callback)
示例:
let arr = [1, 2, 3, 4]; arr.foreach(num => console.log(num)); // imprime 1, 2, 3, 4
arr.join(separator) 方法创建一个字符串,其中连接了数组的所有元素,并用特定的分隔符分隔。
语法:
arr.join(separator)
示例:
let arr = [1, 2, 3, 4]; arr.join('-'); // "1-2-3-4"
arr.tostring() 方法将数组转换为字符串并返回结果。
语法:
arr.tostring()
示例:
let arr = [1, 2, 3, 4]; arr.tostring(); // "1,2,3,4"
map() 方法对原始数组的每个元素调用回调函数,并返回一个包含结果的新数组。这是一种非变异方法。
语法:
arr.map(function callback(currentvalue, index, array) { // retorna um novo valor })
示例:
let arr = [1, 2, 3, 4]; let doubled = arr.map(num => num * 2); // [2, 4, 6, 8]
reduce() 方法将函数应用于累加器和每个数组元素(从左到右)以减少到单个值。
语法:
arr.reduce(function callback(accumulator, currentvalue, index, array) { // retorna o valor acumulado }, initialvalue)
示例:
let arr = [1, 2, 3, 4]; let sum = arr.reduce((acc, num) => acc + num, 0); // 10
filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
语法:
arr.filter(function callback(element, index, array) { // retorna true para manter o elemento })
示例:
let arr = [1, 2, 3, 4]; let even = arr.filter(num => num % 2 === 0); // [2, 4]
sort() 方法按升序或根据给定的比较函数排列数组的元素。
语法:
arr.sort([comparefunction])
示例:
let arr = [4, 2, 3, 1]; arr.sort(); // [1, 2, 3, 4]
find() 方法返回数组中满足给定测试函数的第一个元素。
语法:
arr.find(function callback(element, index, array) { // retorna true para encontrar o elemento })
示例:
let arr = [1, 2, 3, 4]; let found = arr.find(num => num > 2); // 3
indexof() 方法返回在数组中可以找到给定元素的第一个索引,如果该元素不存在,则返回 -1。
语法:
arr.indexof(searchelement, fromindex)
示例:
let arr = [1, 2, 3, 4]; let index = arr.indexof(3); // 2
some() 方法测试数组中至少一个元素是否通过实现的测试函数。
语法:
arr.some(function callback(element, index, array) { // retorna true se pelo menos um elemento passar no teste })
示例:
let arr = [1, 2, 3, 4]; let haseven = arr.some(num => num % 2 === 0); // true
concat() 方法用于合并两个或多个数组。
语法:
arr.concat(array2, array3, ..., arrayn)
示例:
let arr1 = [1, 2]; let arr2 = [3, 4]; let merged = arr1.concat(arr2); // [1, 2, 3, 4]
这些方法是在 javascript 中使用数组的基础。掌握这些方法将使您能够更有效地操作数据并编写更清晰、更易读的代码。快乐编码!
参考资料: