Страницы

Поиск по вопросам

вторник, 17 марта 2020 г.

Отсортировать массив объектов по значеням второго массива

#сортировка #javascript


Нужно отсортировать массив sel по массиву resources или можно создать другой массив,
вида sel, только отсортированный по resources.
Есть 2 массива:
Первый массив:
var resources = [
    ["1717", "1859", "3000"],
    ["1616", "1600"]
];

Второй массив, который нужно отсортировать или создать подобный, но отсортированный
по первому:
var sel = [
    [
        {"id":"3000","title":"3G"},
        {"id":"1859","title":"4G"},
        {"id":"1717","title":"Customer"}
    ],
    [
        {"id":"1600","title":"Should"},
        {"id":"1616","title":"Ranking"}

    ]
];

Первый элемент массива sel
[
        {"id":"3000","title":"3G"},
        {"id":"1859","title":"4G"},
        {"id":"1717","title":"Customer"}
]

должен иметь порядок, как в массиве resources
["1717", "1859", "3000"]
Заранее спасибо.    


Ответы

Ответ 1



var sorted_sel = []; resources.forEach(function(line, i){ sorted_sel[i] = []; line.forEach(function(resources_el){ sel[i].forEach(function(sel_el){ if(sel_el.id === resources_el) sorted_sel[i].push(sel_el); }); }); });

Комментариев нет:

Отправить комментарий