提问人:BizzyBee 提问时间:8/11/2023 更新时间:8/11/2023 访问量:24
使用 Array.from() [duplicate] 避免重复
Avoid duplicates using Array.from() [duplicate]
问:
这个问题在这里已经有答案了:
在 (0 - X) 范围内生成唯一编号,保留历史记录以防止重复 (4 个答案)
生成 1 到 100 之间的唯一随机数 (32 个答案)
生成介于 0 和“x”之间的唯一随机数(整数)( 16 个答案)
获取 JavaScript 数组中的所有唯一值(删除重复项)( 94 个答案)
从 JS 数组中删除重复值 [duplicate] (54 个答案)
4个月前关闭。
我想创建一个由 1-20 之间的四个数字组成的数组。我正在使用 Array.from() 来做到这一点,但我得到了重复的数字。我怎样才能确保我得到四个唯一的号码?这是我目前拥有的代码。
function randomArray() {
const arr = Array.from(
{ length: 4 },
(v, i) => Math.floor(Math.random() * 20) + 1
);
const arr2 = arr;
arr2.forEach((val) => {
if(arr2.includes(val)) {
arr2.splice(val)
}
})
console.log((arr.filter(moreThenZero)))
}
function moreThenZero(num) {
return num > 0;
}
创建第二个函数是为了过滤掉 array.from() 生成的 0。randomArray() 中的 + 1 可能是多余的,但我不确定。创建 forEach 是为了避免 array.from() 产生的重复 #,但它不起作用。我可以使用其他方法吗?
答: 暂无答案
评论
arr2