我正在尝试创建一个接收数组作为参数的纯函数,现在我想替换给定索引处的元素而不修改提供的数组参数。
基本上我正在寻找这样的东西:
export const muFunc = (arr) => {
return arr.replaceElementAt(1, 'myNewValue'); // This doesnt modify arr at all
}
我该怎么做?
答案 0 :(得分:0)
您可以利用Object.assign
并执行以下操作:
const arr = [1, 2, 3, 4, 5];
const updatedArr = Object.assign([], arr, {1: 'myNewValue'});
console.log(arr); // [1, 2, 3, 4, 5]
console.log(updatedArr); // [1, "myNewValue", 3, 4, 5]
答案 1 :(得分:-1)
您可以使用地图功能来实现此目的
var arr = [1,2,3,4,5,6,7,89];
arr.map(function (rm) {
if (rm == 2) {
return 3
} else {
return rm
}
})