JavaScript中更新嵌套数组的值可以通过以下几种方式实现,同时避免linter抛出'no-param-reassign'警告:
以下是一个示例代码,演示了使用递归更新的方法:
function updateNestedArray(array, targetValue, newValue) {
array.forEach((element, index) => {
if (Array.isArray(element)) {
updateNestedArray(element, targetValue, newValue);
} else if (element === targetValue) {
array[index] = newValue;
}
});
}
const nestedArray = [1, [2, [3, 4]]];
const targetValue = 3;
const newValue = 5;
updateNestedArray(nestedArray, targetValue, newValue);
console.log(nestedArray); // 输出: [1, [2, [5, 4]]]
在这个例子中,我们定义了一个名为updateNestedArray
的函数,它接收一个嵌套数组array
、目标值targetValue
和新值newValue
作为参数。函数使用forEach
方法遍历数组,对于每个元素,如果是数组,则递归调用updateNestedArray
函数;如果是目标值所在的位置,则更新该值。最后,我们使用console.log
输出更新后的嵌套数组。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云