用第二个数组的另一个元素替换第一个数组的元素
Replace element from first array by another element of second array
我在用第二个数组的另一个元素替换第一个数组的元素时遇到这个问题。
例如,如果我有一个包含一些空值和字符串的数组,如下所示:
let array_1 = [empty, 'Connected', empty, 'Connected', 'Connected'];
另一个新数组将是这样的:
let array_2 = [empty, 'Updated'];
因此,具有替换元素的新更新数组将如下所示:
newArray = [empty, 'Updated', empty, 'Connected', 'Connected'];
我尝试使用 for 循环并使用 findIndexof,但无法用准确的索引地址替换元素。
其中对我部分有用的是:
console.log(Object.values(...array_1, ...array_2));
上面一行只有一个数组和一个元素,而不是来自 array_1
:
的元素的其余部分
['Updated']
但似乎 Obejct.values()
不适用于生成为 empty
的元素。
任何可能的解决方案都会很棒!
如果我理解正确,你可以使用像这样的地图函数来解决它:
let array_1 = [undefined, "Connected", undefined, "Connected", "Connected"];
let array_2 = [undefined, "Updated"];
const res = array_1.map((val, idx) => {
return array_2[idx] || val;
});
console.log(res);
我在用第二个数组的另一个元素替换第一个数组的元素时遇到这个问题。
例如,如果我有一个包含一些空值和字符串的数组,如下所示:
let array_1 = [empty, 'Connected', empty, 'Connected', 'Connected'];
另一个新数组将是这样的:
let array_2 = [empty, 'Updated'];
因此,具有替换元素的新更新数组将如下所示:
newArray = [empty, 'Updated', empty, 'Connected', 'Connected'];
我尝试使用 for 循环并使用 findIndexof,但无法用准确的索引地址替换元素。
其中对我部分有用的是:
console.log(Object.values(...array_1, ...array_2));
上面一行只有一个数组和一个元素,而不是来自 array_1
:
['Updated']
但似乎 Obejct.values()
不适用于生成为 empty
的元素。
任何可能的解决方案都会很棒!
如果我理解正确,你可以使用像这样的地图函数来解决它:
let array_1 = [undefined, "Connected", undefined, "Connected", "Connected"];
let array_2 = [undefined, "Updated"];
const res = array_1.map((val, idx) => {
return array_2[idx] || val;
});
console.log(res);