我正在使用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)