使用 JavaScript 更新数组中的所有元素
要更新数组的所有元素,请调用数组的 forEach()
方法,并向其传递一个函数。 为数组中的每个元素调用该函数,并允许我们更新数组的值。
const arr = ['zero', 'one', 'two'];
arr.forEach((element, index) => {
arr[index] = element + index;
});
// 👇️ ['zero0', 'one1', 'two2']
console.log(arr);
如果我们不想更改原始数组,请向下滑动到下一个副标题。
我们传递给 Array.forEach
方法的函数会为数组中的每个元素调用。
每次,它都会传递以下 3 个参数:
- 元素
- 指数
- 阵列
在每次迭代中,我们使用索引来更新当前数组元素的值。
请注意
,这会原地更改原始数组。
不改变原始数组的替代解决方案是使用 Array.map 方法。
使用 map() 更新数组中的所有元素
更新数组中的所有元素:
- 调用
map()
方法迭代数组。 - 在每次迭代中,返回更新后的值。
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 个参数:
- 元素
- 指数
- 数组
我们从回调函数返回的任何内容都会添加到 map() 方法返回的新数组中。
map
方法不会改变原始数组,它会返回一个新数组。
我们选择哪种方法是个人喜好的问题。 我会使用 map()
方法,因为我发现很难在整个代码库中推理和跟踪执行的堆栈。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。