使用 JavaScript 更新数组中的所有元素

要更新数组的所有元素,请调用数组的 forEach() 方法,并向其传递一个函数。 为数组中的每个元素调用该函数,并允许我们更新数组的值。

const arr = ['zero', 'one', 'two'];

arr.forEach((element, index) => {
  arr[index] = element + index;
});

// ?️ ['zero0', 'one1', 'two2']
console.log(arr);

我们传递给 Array.forEach 方法的函数会为数组中的每个元素调用。

每次,它都会传递以下 3 个参数:

  1. 元素
  2. 指数
  3. 阵列

在每次迭代中,我们使用索引来更新当前数组元素的值。

不改变原始数组的替代解决方案是使用 Array.map 方法。


使用 map() 更新数组中的所有元素

更新数组中的所有元素:

  1. 调用 map() 方法迭代数组。
  2. 在每次迭代中,返回更新后的值。
  3. map() 方法将返回一个包含更新值的新数组。
const arr = ['zero', 'one', 'two'];

const newArr = arr.map((element, index) => {
  return element + index;
});

// ?️ ['zero0', 'one1', 'two2']
console.log(newArr);

// ?️ ['zero', 'one', 'two']
console.log(arr);

我们传递给 map() 方法的函数会为数组中的每个元素调用。

它传递了以下 3 个参数:

  1. 元素
  2. 指数
  3. 数组

我们从回调函数返回的任何内容都会添加到 map() 方法返回的新数组中。

我们选择哪种方法是个人喜好的问题。 我会使用 map() 方法,因为我发现很难在整个代码库中推理和跟踪执行的堆栈。