У меня есть небольшой скрипт, который скатывает случайные числа и помещает их в массив. Если элемент (объект) не существует, его необходимо добавить, в противном случае его необходимо обновить. Идентификаторы должны быть уникальными идентификаторами. Каким-то образом я получаю дублирующиеся идентификаторы, и я не уверен, почему это происходит.
Я надеялся получить это после бросков (пример 30 бросков):
[{"id":1,"min":0,"max":18},{"id":2,"min":0,"max":2},{"id":3,"min":0,"max":10}]
вместо:
[{"id":1,"min":0,"max":7},{"id":2,"min":0,"max":2},{"id":3,"min":0,"max":10},{"id":1,"min":0,"max":11}]
Кто-нибудь знает, в чем может быть проблема? Заранее спасибо.
var coll_ = [];
for (i = 0; i < 30; i++) {
random_number = Math.floor((Math.random() * 3) + 1);
if (!coll_[random_number]) {
// Item doesnt exist so will be added to the array
coll_.push({
id: random_number,
min: 0,
max: 1
});
} else {
// Item exists so it will be updated
coll_[random_number]['max']++;
}
}
document.write(JSON.stringify(coll_));