JavaScript 按索引排序,然后按随机排序



我正在使用lodash来按索引排序,但是在具有相同索引的项目中,排序总是相同的。如果索引相同,如何确保排序是随机的?

这是我目前拥有的:

    chosen = _.sortBy(chosen, function(v) {
      return v.index;
    });

vanillJS/ES6 one-line:

var arr = [{index:5,v:1},{index:3,v:3},{index:3,v:6},{index:1,v:3},{index:3,v:7}]
arr = arr.sort((i1,i2)=>i1.index==i2.index?Math.random()-0.5:i1.index-i2.index)
console.log(arr)

编辑:不是单行

var arr = [{index:5,v:1},{index:3,v:3},{index:3,v:6},{index:1,v:3},{index:3,v:7}]
arr = arr.sort(function(i1,i2){
  if (i1.index == i2.index) return Math.random()-0.5;
  else return i1.index-i2.index;
})
console.log(arr)

相关内容

  • 没有找到相关文章

最新更新