这是一个简单的javascript代码,可将一个数组中的唯一数据添加到另一个数组中。

var data = [1, 2, 3, 2]
var dump = [];
for (var i = 0; i < data.length; i++) {
    if (dump.length == 0) {
        dump.push(data[i])
    } else {
        for (var a = 0; a < dump.length; a++) {
            if (dump[a] != data[i]) {
                if (a >= dump.length) {
                    dump.push(data[i])
                }
            }
        }
    }
}


我从数据数组中只得到1个项目:[1]而不是[1,2,3]

最佳答案

那是因为这条线

当a大于或等于dump.length时,您推送数据
但是在你的循环中

if (a >= dump.length) {
    dump.push(data[i])
}

它不会在那里
这样尝试
a < dump.length

JSFIDDLE

关于javascript - 循环在动态更新的数组中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33492107/

10-16 19:38