在数组中,如何确保元素不会在JavaScript中重复?

时间:2018-11-29 19:36:51

标签: javascript

我有这段代码,重点是读取彩票号码,号码不能小于0,不能大于49,也不能重复。我不明白如何将其放入while循环中。如何比较每个插入的数字与先前插入的数字?

var totoloto=new Array(1);
for(var i=0; i<1; i++) {
    totoloto[i]=new Array(5);
    for(var j=0; j<5; j++) {
        do {
            totoloto[i][j] = parseInt(readLine("totoloto="));
        } while (totoloto[i][j] < 1 || totoloto[i][j] > 49);
    }
    print(totoloto[i].toString().replaceAll(",", " "));
}

1 个答案:

答案 0 :(得分:0)

您可以使用Set而不是Array,而只需将值添加到set中。如果您不知道,则Set仅包含唯一值。 另一种方法是使用对象:

let obj={}
obj.value1 = true // true is just for example. It doesn't make any sense
obj.value2 = true
// After getting all the keys you can
Object.keys(obj) // it returns all the keys in objecti i.e. your values

因此,使用相同的键添加值无效,因为对象只能具有唯一的键。