我无法在任何地方使用collator.compare找到任何排序对象的示例。谁能提供?到目前为止,我遇到的所有文档和示例都显示了数组排序,如下例所示:
var myArray = ['1_Document', '11_Document', '2_Document'];
var collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});
myArray.sort(collator.compare)
很高兴看到它如何适用于像
这样的对象var objs = [{name: '1_Document', size: 40}, {name: '11_Document', size: 50}, {name: '2_Document', size: 60}];
答案 0 :(得分:2)
您可以通过将collator.compare
包装到传递对象引用作为参数的函数中,使用Intl.Collator对对象数组进行排序
var collator = new Intl.Collator(undefined, {
numeric: true,
sensitivity: 'base'
});
var objs = [{
name: '1_Document',
size: 40
}, {
name: '11_Document',
size: 50
}, {
name: '2_Document',
size: 60
}];
objs.sort(function(a, b) {
return collator.compare(a.name, b.name)
});
console.log(objs);