跳至主要内容

Shuffle节点

Shuffle Node Screenshot

概述

Shuffle节点用于随机打乱数组中元素的顺序。它接收一个数组作为输入,并输出一个新数组,其中的元素以随机顺序排列。

Shuffle节点采用Fisher-Yates(又称Knuth)洗牌算法来确保排列的公平分布。

输入项

标题数据类型描述默认值备注
Arrayany[]The array to shuffle.(required)None

示例1:打乱数字数组的顺序

  1. 创建一个Array Node并将值设置为[1, 2, 3, 4, 5]
  2. 创建一个Shuffle节点并将Array节点连接到其Array输入。
  3. 运行图形。Shuffle节点的Shuffled输出应包含数字1到5的随机排序。

Shuffle Node Example 1

错误处理

如果没有提供Array输入或者输入不是数组,Shuffle节点将会报错。

常见问题

问:我可以对对象数组进行洗牌吗?

A: 是的,Shuffle Node可以随机打乱任何数据类型的数组,包括对象。

问:Shuffle节点会修改原始数组吗?

A: 不,Shuffle Node不会修改原始数组。它会创建一个元素顺序被打乱的新数组。

问:shuffle算法真的是随机的吗?

A: Shuffle节点使用Fisher-Yates(又称Knuth)洗牌算法,该算法被认为是一种公平的洗牌算法。但它依赖于JavaScript的Math.random()函数,该函数不适合用于加密目的。

另请参阅