我的目标是从数组开始 空值比其他值 数组具有相应的条目替换 只是作为例子
const a = [...[null,null,null, null], ...[1,2,3,4]]
我想要一个数组 [1,2,3,4]
在开始时,第二个数组也可能是空的
const a = [...[null,null,null, null], ...[]]
或
const a = [...[null,null,null, null], ...[1]]
以此类推....
const a = [null,null,null, null];
const b = [1,2,3];
const c = a.map((item,i)=> b[i] ? b[i] : a[i])
有更好的方法吗?
答案 0 :(得分:1)
您可以将Object.assign
以数组作为目标,并获取更新的值,这些值在相同的索引/键处。
这也适用于稀疏数组。
const a = [null, null, null, null];
const b = [1, 2, 3, , 5];
// creating new, rather than mutating
const c = Object.assign([], a, b);
console.log(c); // [1, 2, 3, null, 5]
答案 1 :(得分:0)
检查一下。只是一个简单的for循环。我使用Number.isNaN进行验证。如果需要验证其他类型的值,则可以使用其他验证。
const a = [null,null,null, null];
const b = [1,2,3];
let c=[...a]
for (let i = 0; i < b.length; i++) {
if(!Number.isNaN(b[i])){
c[i]=b[i]
}
}
这是输出:
[1,2,3,null]