Intl.Collator для объектов JS - PullRequest
0 голосов
/ 28 мая 2018

Я нигде не могу найти ни одного примера сортировки объектов с помощью collator.compare.Кто-нибудь может предоставить?Вся документация и примеры, с которыми я сталкивался до сих пор, сортировали массивы show, как показано ниже:

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}];

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете отсортировать массив объектов с помощью Intl.Collator, поместив collator.compare в функцию, передавая ссылку на объекты в качестве аргументов

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);
...