我正在使用lodash来对sortBy进行索引,但在具有相同索引的项目中,排序总是相同的。如果索引相同,如何确保排序是随机的?
这就是我目前的情况:
chosen = _.sortBy(chosen, function(v) {
return v.index;
});
答案 0 :(得分:1)
vanillJS / ES6 one-liner:
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)