У меня есть 2 массивы:NodeJS/JS - сортировка на основе другого массива + движущихся элементов эффективно
var one = ['da22', 'ye66', '17hy']
и
var two = [{publicID: 'da22', score: '2'}, {publicID: '17hy', score: '2'}, {publicID: 'ye66', score: '2'}]
хочу two
быть заказан publicID
согласно one
так оно должно должно быть
two = [{publicID: 'da22', score: '2'}, {publicID: 'ye66', score: '2'}, {publicID: '17hy', score: '2'}]
Есть ли встроенный метод в NodeJS для этого?
У меня это работает, однако его не очень эффективно. У меня есть метод, чем может переместить элемент из одного индекса к другим moveFromTo(oldIndex, newIndex
, который я использую с:
for (var r=0; r<one.length; r++) {
if (one[r] != two[r]['publicID']) {
two.moveFromTo(one.indexOf(two[r]['publicID']), r)
r=-1; continue;
}
}
Но того, чтобы использовать это r=-1
как вещи двигаться - хотя работа - не кажется лучшим из идеи.
Любые идеи будут оценены.
Большое спасибо.
Определите, что вы хотите иметь для объектов в 'two', для которых нет совпадения' publicID' в 'one'. – Makyen
@Makyen - всегда будет подходящий объект – userMod2
@Makyen - typo fixed – userMod2