我正在使用这个jQuery插件来排序元素: http://james.padolsey.com/javascript/sorting-elements-with-jquery/
它适用于此代码:
function sortGallery(element, sorting) {
$('input.sort').removeClass('active');
$(element).addClass('active');
if (sorting === 'bydate') {
$('#gallery-js > div').sortElements(function(a, b){
return $(a).find('img').attr('data-date') < $(b).find('img').attr('data-date') ? 1 : -1;
});
} else if (sorting === 'random') {
console.log('TODO');
}
}
问题是我不理解return语句。有人能告诉我&#34;随机&#34;的返回值。部分应该看起来如果可能的话简短说明它是如何工作的?
答案 0 :(得分:2)
好的,首先您可能想了解Array#sort的工作原理。
在文档中,他们提供此代码作为排序顺序如何工作的示例
function compare(a, b) {
if (a is less than b by some ordering criterion)
return -1;
if (a is greater than b by the ordering criterion)
return 1;
// a must be equal to b
return 0;
}
由于您只想随机排序,我们需要做的就是生成一个从-1到1的随机整数
function randomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
然后你只需调用这个方法
} else if (sorting === 'random') {
return randomInt(-1, 1);
}