【问题标题】:Javascript sort array and sync over networkJavascript排序数组并通过网络同步
【发布时间】:2019-03-01 04:06:56
【问题描述】:

假设 Client1 在浏览器 (javascript) 中有一个大数组。 Client2 具有相同的数组。 现在当 Client1 点击 Shuffle 按钮时,这个数组会随机排序。问题是我想将此新订单同步到 Client2。
这个想法是我不想通过网络将所有项目发送到 Client2,因为它很大。然后我想到一个函数array.shuffle(n),其中n是一个随机数。 shuffle 函数使用 n 以某种方式对数组进行排序。当我向 Client2 发送 n 时,它会调用相同的函数并获得相同的数组顺序。
有这样的功能吗?

【问题讨论】:

  • 您需要使用 PHP 或 Node.JS 等服务器端编码语言
  • 好的,但是怎么做?能给我一些代码吗
  • 您可以使用任何您想要的洗牌算法,只要它从零熵可种子 PRNG 中获得随机性,例如:davidbau.com/archives/2010/01/30/…。只需在两者中使用相同的种子即可。
  • 这里我们不会为您编写代码 - 我们会修复您已有的代码。
  • 另外,您可以通过网络发送最终排列,比种子更多的信息,但您仍然可以跳过发送数组的所有内容。

标签: javascript arrays sorting


【解决方案1】:

您可以使用 Fisher–Yates 洗牌算法。它根据您可以发送到 client2 的随机数进行随机播放,并实现相同的随机播放。

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2012-09-24
      • 2011-06-03
      • 1970-01-01
      • 2011-09-28
      • 2018-08-16
      • 1970-01-01
      相关资源
      最近更新 更多