Shuffle节点

概述
Shuffle节点用于随机打乱数组中元素的顺序。它接收一个数组作为输入,并输出一个新数组,其中的元素以随机顺序排列。
Shuffle节点采用Fisher-Yates(又称Knuth)洗牌算法来确保排列的公平分布。
- 输入
- 输出
- 编辑器设置
示例1:打乱数字数组的顺序
- 创建一个Array Node并将值设置为
[1, 2, 3, 4, 5]。 - 创建一个Shuffle节点并将Array节点连接到其
Array输入。 - 运行图形。Shuffle节点的
Shuffled输出应包含数字1到5的随机排序。

错误处理
如果没有提供Array输入或者输入不是数组,Shuffle节点将会报错。
常见问题
问:我可以对对象数组进行洗牌吗?
A: 是的,Shuffle Node可以随机打乱任何数据类型的数组,包括对象。
问:Shuffle节点会修改原始数组吗?
A: 不,Shuffle Node不会修改原始数组。它会创建一个元素顺序被打乱的新数组。
问:shuffle算法真的是随机的吗?
A: Shuffle节点使用Fisher-Yates(又称Knuth)洗牌算法,该算法被认为是一种公平的洗牌算法。但它依赖于JavaScript的Math.random()函数,该函数不适合用于加密目的。