Как отсортировать массив на основе другого массива в JS

если у меня есть массив: [1,2,3,4] и другой массив объектов:

[{id:2, name:"Alexa"}, {id:1, name:"John"},{id:5 , name:"Mary"},{id:4, name:"Peter"} ], 

как я могу сделать оптимальную функцию для сортировки на основе первого массива? результат:

[{id:1, name:"John"},{id:2, name:"Alexa"},{id:4, name:"Peter"},{id:5, name:"Mary"} ]

Большое спасибо за внимание.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это то, что тебе надо?

const initialArr = [
  { id: 2, name: "Alexa" },
  { id: 1, name: "John" },
  { id: 5, name: "Mary" },
  { id: 9, name: "Zuzu" },
  { id: 3, name: "Mary" },
  { id: 4, name: "Peter" }
];
const arr = [1, 2, 3, 4];

initialArr.sort((a, b) => {
  const getTypeIndex = (x) => arr.indexOf(x.id);

  return getTypeIndex(a) - getTypeIndex(b) && a.id - b.id;
});

console.info(initialArr);

это работает для меня, когда это: return getTypeIndex (a) - getTypeIndex (b) || а.ид - б.ид;

Keny Ramírez 18.03.2022 20:13

Другие вопросы по теме