使用两个数组的Javascript创建条件新数组

问题描述 投票:-2回答:1

我有两个数组(a,b),我试图使第三个数组(c)一切都很好,但是新数组(c)的第一个值出错了。我正在使用循环和splice()方法;

let a = [1, 2, 3, 4, 5, 6, "", 7, 8, 9, "", 10, 11, 12, "",
         13, 14, 15, "", 16, 17, 18, "", 19, 20, 21, "", 22,
         23, 24, "", 25, 26, 27, "", 28, 29, 30, "", 31,"",
         "", "", 32]

    let b = [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 15, 16, 20, 23, 
            24, 25, 28, 29, 32, 33, 35, 36, 39, 43];

    let c = Array(a.length).fill(null);

    for (let i = 0; i < a.length; i++) {
        c.splice(b[i], 1, 'c')
    }

    console.log(c)

期望的输出

[null, "c", "c", "c", "c", "c", "c", null,"c", "c", 
"c", null, null, "c", "c", null,"c", "c",null, null,
null, "c", null, null,"c", "c","c", null, null, "c",
"c", null, null, "c","c", null, "c", "c", null, null,
"c", null, null, null, "c"]

但是得到

["c", "c", "c", "c", "c", "c", "c", null, "c", "c",
"c", null, null, "c", "c", null, "c", "c", null, null,
null, "c", null, null, "c", "c", "c", null, null, "c",
"c", null, null, "c", "c", null, "c", "c", null, null,
"c", null, null, null, "c"]
javascript arrays loops splice
1个回答
0
投票

尝试更清楚地解释该功能是要做什么的。这样我们可以理解逻辑并尝试为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.