📌  相关文章
📜  如何在没有变异的情况下替换 javascript 中的数组元素 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:40.751000             🧑  作者: Mango

如何在没有变异的情况下替换 JavaScript 中的数组元素

在 JavaScript 中,我们可以使用数组来存储和处理一组数据。有时候,我们需要替换数组中的某个元素,并将新值赋给它。本文将介绍几种在没有变异的情况下替换 JavaScript 数组元素的方法。

1. 使用 Array.splice() 方法

Array.splice() 方法可以删除数组中的某些元素,并向数组添加新元素。我们可以使用该方法将新值添加到数组中,并删除要替换的旧值。

let arr = ['apple', 'banana', 'orange'];
let index = 1; // 要替换的旧值在数组中的索引位置
let newValue = 'pear'; // 新值

arr.splice(index, 1, newValue); // 在索引位置 1 的位置删除 1 个元素,添加新值 'pear'
console.log(arr); // ['apple', 'pear', 'orange']
2. 使用 Array.map() 方法

Array.map() 方法会返回一个新数组,该数组由原始数组的每个元素经过某种转换后得到的结果组成。我们可以使用该方法将要替换的旧值替换为新值。

let arr = ['apple', 'banana', 'orange'];
let index = 1; // 要替换的旧值在数组中的索引位置
let newValue = 'pear'; // 新值

let newArr = arr.map((item, idx) => {
  if(idx === index) {
    return newValue; // 如果当前元素的索引位置等于要替换的索引位置,就返回新值
  } else {
    return item; // 否则返回原始值
  }
});

console.log(newArr); // ['apple', 'pear', 'orange']
3. 使用 Array.from() 方法

Array.from() 方法可以将一个类似数组或可迭代对象转换为一个真正的数组。我们可以使用该方法将原始数组转换为新数组,并在新数组中替换要替换的旧值。

let arr = ['apple', 'banana', 'orange'];
let index = 1; // 要替换的旧值在数组中的索引位置
let newValue = 'pear'; // 新值

let newArr = Array.from(arr, (item, idx) => {
  if(idx === index) {
    return newValue; // 如果当前元素的索引位置等于要替换的索引位置,就返回新值
  } else {
    return item; // 否则返回原始值
  }
});

console.log(newArr); // ['apple', 'pear', 'orange']

以上就是在没有变异的情况下替换 JavaScript 中的数组元素的几种方法。每种方法都有其优点和局限性,我们可以根据实际情况选择最合适的方法。