给出:
var a = [1, 2, 3]
var b = null
我需要:
var c = [...a, ...b]
..,但是当a
或b
当然为空时,则不起作用。因此,在此示例中,不应仅添加b
,从而得到c = [1, 2, 3]
。如果a
和b
均为空(或未定义),则结果应为[]。
有什么捷径可以避免必须写两个if
语句?
答案 0 :(得分:11)
答案 1 :(得分:1)
var c = [...(a || []), ...(b || [])]
这样,如果任何数组为null或未定义,它将被一个空数组替换
答案 2 :(得分:1)
您可以使用过滤器
var a = [1, 2]
var b = null
var c = [3, null, 4]
var d = []
d.concat(a,b,c).filter(item => item !== null) // [1, 2, 3, 4]
console.log("Array", d)
答案 3 :(得分:0)
您可以使用三元运算符来验证并合并这样的数组
const a = [1,2,3,4,5];
const b = null;
const c = [6,7,8,9];
const final = [...a ? a :[],...b ? b : [],...c ? c : []];
console.log(final)