【发布时间】:2011-06-15 14:30:23
【问题描述】:
我不确定如何执行此操作,但我想要创建一个数组并能够向该数组添加新项目。由于项目应该是一个随机数,当创建一个新实例时,我希望它与数组的其余部分进行检查,并确保它生成的数字不在数组中。我将如何完成这样的事情?
我查看了 Šime Vidas 的答案,它似乎有效,但我试图将其缩短为
var arr = [];
function add(a) {
var n = ~~(Math.random() * 100);
for (var i = 0; i < a.length; i++) {
if ( a[i] === n) { a.push(n) }
}
}
for (var i=0; i<5; i++){
add(arr)
}
document.getElementById('output').innerHTML += arr;
我不明白为什么这不起作用。它的作用几乎相同,对吗?
【问题讨论】:
-
删除的答案建议使用对象作为数据结构。为什么被删除了?对我来说似乎是个好主意。它避免了循环数组。
-
我同意@Felix。只要原始顺序不重要并且不需要实际的 Array,使用 Object 将非常简单。
标签: javascript arrays random numbers