相关疑难解决方法(0)

如何随机化(shuffle)一个JavaScript数组?

我有这样一个数组:

var arr1 = ["a", "b", "c", "d"];
Run Code Online (Sandbox Code Playgroud)

我如何随机化/随机播放?

javascript arrays shuffle

1138
推荐指数
36
解决办法
67万
查看次数

从JavaScript数组中获取随机物品

var items = Array(523,3452,334,31,...5346);
Run Code Online (Sandbox Code Playgroud)

我如何从中获取随机物品items

javascript arrays random

843
推荐指数
11
解决办法
69万
查看次数

我如何改变阵列?

可能重复:
如何随机化一个javascript数组?

我想在JavaScript中随机播放一系列元素,如下所示:

[0, 3, 3] -> [3, 0, 3]
[9, 3, 6, 0, 6] -> [0, 3, 6, 9, 6]
[3, 3, 6, 0, 6] -> [0, 3, 6, 3, 6]
Run Code Online (Sandbox Code Playgroud)

javascript

447
推荐指数
2
解决办法
39万
查看次数

O(1)中的唯一(非重复)随机数?

我想生成0到1000之间永远不会重复的唯一随机数(即6不会出现两次),但这并不是像以前的值的O(N)搜索那样.这可能吗?

language-agnostic random algorithm math

174
推荐指数
9
解决办法
9万
查看次数

在范围(0 - X)内生成唯一编号,保留历史记录以防止重复

我遇到了一个挑战,我需要一个在给定范围内返回随机数的函数0 - X.不仅如此,我还要求返回的数字是唯一的 ; 不复制先前调用该函数时已返回的数字.

可选地,当完成此操作时(例如,范围已经"耗尽"),只需返回范围内的随机数.

怎么会这样做呢?

javascript arrays random jquery

5
推荐指数
2
解决办法
4102
查看次数

在 Typescript 中从数组中随机选取 N 个项目的函数

这是代码。从这个答案得到了想法。

打字稿游乐场

我使用泛型类型参数:T extends unknown[],因为此函数应该适用于任何类型的数组。

export const pickRandomItems = <T extends unknown[]> (arr: T, n: number): T => {
  const shuffled = Array.from(arr).sort(() => 0.5 - Math.random());
  return shuffled.slice(0, n);
};
Run Code Online (Sandbox Code Playgroud)

但我在声明中收到以下错误return

在此输入图像描述

在此输入图像描述

如果我进行类型断言,它就会消失。但为什么有必要呢?难道我做错了什么?

在此输入图像描述

笔记:

下面的行被评估为unknown[],那么为什么类型断言仍然是必要的呢?

const result = shuffled.slice(0, n);
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

3
推荐指数
1
解决办法
1522
查看次数

如何从数组中选择多个随机元素?

var array = ["one", "two", "three", "four", "five"];
var item = array[Math.floor(Math.random()*array.length)];
Run Code Online (Sandbox Code Playgroud)

上面的代码从数组中随机选择一个项目。但是,我怎么能让它一次从数组中选择 3 个随机元素,而不仅仅是一个。

而不是仅选择three例如,它应该类似于two five one.

javascript arrays

2
推荐指数
1
解决办法
3299
查看次数