我有一个数组A,我试图把它和数组B连接起来,而数组B保持相同的索引数。
例如:
const array_A = [1, 2, 3, 4];
const array_B = [0, 0, 0, 0, 0, 0, 0];
结果应该如下所示
const result = [1, 2, 3, 4, 0, 0, 0];
我尝试过这种方法
const result = array_A.concat(array_B);
console.log(result);
但是我得到了11个索引数组,而我只需要7个索引的数组。
[1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0];
4条答案
按热度按时间gcxthw6b1#
您可以对第二个数组执行
map
,并检查第一个数组在该索引处是否有值。如果索引处的值可以为null / undefined,则
??
operator将忽略该值并使用array_B
值。下面是一个片段:
yhived7q2#
您可以执行以下操作:
使用
pop()
弹出第二个数组的最后一个元素,即array_B
,然后使用unshift()方法从前面插入array_A
到array_B
的元素。必须针对array_A
中的元素循环qqrboqgw3#
您可以在Array_A上使用for或forEach循环,然后将Array_B的值替换为Array_A的值
u5rb5r594#
我们通常不会考虑将
Object.assign
用于数组,但它可以很好地用于数组。我们可以这样做,然后剥离覆盖数组,使其包含基数组中的元素数,然后执行Object .assingn
,即Object .assign ([...b], a .slice (0, b .length))
或Object .assign ([], b, a .slice (0, b .length))
,具体由您选择:第一个