JavaScript的24种数组方法

116 阅读3分钟
  1. push(): 将一个或多个元素添加到数组的末尾,并返回新数组的长度。
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
  1. pop(): 删除数组的最后一个元素,并返回该元素的值。
const arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]
  1. unshift(): 将一个或多个元素添加到数组的开头,并返回新数组的长度。
const arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
  1. shift(): 删除数组的第一个元素,并返回该元素的值。
const arr = [1, 2, 3];
arr.shift();
console.log(arr); // [2, 3]
  1. splice(): 在指定位置删除或添加元素。
const arr = [1, 2, 3];
arr.splice(1, 1); // 从索引 1 开始,删除1个元素
console.log(arr); // [1, 3]

arr.splice(1, 0, 2); // 从索引 1 开始,不删除元素,插入2
console.log(arr); // [1, 2, 3]
  1. slice(): 返回一个新数组,包含从开始索引到结束索引之间的元素,不包括结束索引对应的元素。
const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice(1, 4); // 截取从索引 1 到索引 3 的元素
console.log(newArr); // [2, 3, 4]
  1. indexOf(): 返回数组中第一个与指定值相等的元素的索引,如果没有找到返回-1。
const arr = [1, 2, 3, 4, 5];
const index = arr.indexOf(3);
console.log(index); // 2
  1. find(): 返回数组中第一个满足测试(函数)条件的元素的值,如果没有找到返回undefined。
const arr = [1, 2, 3, 4, 5];
const result = arr.find(item => item > 3);
console.log(result); // 4
  1. forEach(): 对数组中的每个元素执行一次提供的函数。
const arr = [1, 2, 3];
arr.forEach(item => console.log(item)); // 输出1、2、3
  1. map(): 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
const arr = [1, 2, 3];
const result = arr.map(item => item * 2);
console.log(result); // [2, 4, 6]
  1. filter(): 创建一个新数组,其中包含所有通过测试的数组元素。
const arr = [1, 2, 3, 4, 5];
const result = arr.filter(item => item % 2 === 0);
console.log(result); // [2, 4]
  1. reduce(): 对数组中的所有元素执行一个累加器函数,并将其结果返回。
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((prev, curr) => prev + curr, 0);
console.log(sum); // 15
  1. join(): 将数组中所有元素以指定的分隔符连接成一个字符串。
const arr = [1, 2, 3];
const str = arr.join("-");
console.log(str); // "1-2-3"
  1. concat(): 连接两个或更多的数组,并返回结果数组。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.concat(arr2);
console.log(newArr); // [1, 2, 3, 4, 5, 6]
  1. reverse(): 反转数组中元素的顺序。
const arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
  1. sort(): 对数组进行排序。
const arr = [3, 2, 1];
arr.sort();
console.log(arr); // [1, 2, 3]
  1. some(): 检测数组中是否至少有一个元素满足指定条件,如果有则返回 true,否则返回 false。
const arr = [1, 2, 3, 4, 5];
const result = arr.some(item => item > 3);
console.log(result); // true
  1. every(): 检测数组中的所有元素是否都满足指定条件,如果所有元素都满足则返回 true,否则返回 false。
const arr = [1, 2, 3, 4, 5];
const result = arr.every(item => item > 0);
console.log(result); // true
  1. includes(): 判断数组中是否包含指定的值,如果包含则返回 true,否则返回 false。
const arr = [1, 2, 3, 4, 5];
const result = arr.includes(3);
console.log(result); // true
  1. flat(): 将嵌套的数组转换为一维数组。
const arr = [1, 2, [3, 4], 5, [6, [7]]];
const flatArr = arr.flat();
console.log(flatArr); // [1, 2, 3, 4, 5, 6, 7]
  1. findIndex(): 返回数组中第一个满足测试(函数)条件的元素的索引,如果没有找到返回-1。
const arr = [1, 2, 3, 4, 5];
const index = arr.findIndex(item => item > 3);
console.log(index); // 3
  1. keys(): 返回一个包含数组所有索引的迭代器。
const arr = [1, 2, 3];
const iterator = arr.keys();
for (let key of iterator) {
  console.log(key); // 0、1、2
}
  1. values(): 返回一个包含数组所有值的迭代器。
const arr = [1, 2, 3];
const iterator = arr.values();
for (let value of iterator) {
  console.log(value); // 1、2、3
}
  1. entries(): 返回一个包含数组所有键值对的迭代器。
const arr = [1, 2, 3];
const iterator = arr.entries();
for (let [key, value] of iterator) {
  console.log(key, value); // 0 1、1 2、2 3
}

以上是JavaScript中一些常用的数组方法及其用法,数组是JavaScript中非常重要的数据结构之一,有多种内置方法可以使用,以便更好地处理和操作数据。