收藏
回答

卢霄霄等大佬求进,关于JS数组打乱的问题

在开发里遇到一个问题,请求回来的数据长这样

用百度过的两个方法都没法打乱:

1、

return Math.random() > .5 ? -1 : 1;

输出为空

2、

for (let i = 1; i < this.data.bank.length; i++) { const random = Math.floor(Math.random() * (i + 1)); [this.data.bank[i], this.data.bank[random]] = [this.data.bank[random], this.data.bank[i]]; } console.log(this.data.bank)

输出为空,是我用的方法错了吗?


回答关注问题邀请回答
收藏

2 个回答

  • XRay
    XRay
    2018-11-06

    你的方法二是对的,一根本不随机

    2018-11-06
    赞同
    回复 2
    • 好阿威
      好阿威
      2018-11-06

      我用2了哈哈哈

      2018-11-06
      回复
    • 🐭
      🐭
      2018-11-06

      可以帮我看看吗

      2018-11-06
      回复
  • 卢霄霄
    卢霄霄
    2018-11-05

    var a = [1,2,3,4,5,6]

    a.sort(()=>{return Math.random()<0.5})

    我试了方法1,好使的呢。。能做个代码片段看看吗

    2018-11-05
    赞同
    回复 13
    • 好阿威
      好阿威
      2018-11-05

      https://developers.weixin.qq.com/s/AIWcHGmB7C31


      做好了!

      2018-11-05
      回复
    • 卢霄霄
      卢霄霄
      2018-11-05回复好阿威

      小哥,是对的啊,随机排

      2018-11-05
      回复
    • 好阿威
      好阿威
      2018-11-05回复卢霄霄

      等下。。。我改下,我是请求回来的,还带了一些奇怪的参数,我把请求也写上

      2018-11-05
      回复
    • 卢霄霄
      卢霄霄
      2018-11-05回复好阿威


      把内容移动到回调里

      最好是 res.data.objects.sort,然后再setData

      2018-11-05
      回复
    • 好阿威
      好阿威
      2018-11-05回复卢霄霄

      可以了,谢谢大哥!我把前面的分享先删掉了!

      2018-11-05
      回复
    查看更多(8)
登录 后发表内容