Mesuti
@Mesuti

Как отсортировать массив в обратном порядке?

Привет!

Элементы массива надо вставить с помощью .after()
Однако, в таком случае элементы встают в обратном порядке.
Возможно ли вывести в обратном порядке?

Или целесообразней изменить метод вставки на .before()?

  • Вопрос задан
  • 130 просмотров
Решения вопроса 3
dollar
@dollar
Делай добро и бросай его в воду.
Можно просто через цикл с обращением по индексам в обратном порядке.
for (let i = arrayWords.length-1; i >= 0; i--) {
  let n = arrayWords[i];
  //..............
}

Кстати, а почему вы в такой ситуации использовали map вместо forEach?
Ответ написан
twobomb
@twobomb
var arrayWords = ['a','b','c','d','f'];

arrayWords.reverse().map(n => {
  let p = document.createElement('p');
  p.innerHTML = n;
  document.querySelector('.listing').after(p);
})
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
Ничего сортировать не надо. И обратный порядок не нужен. Вставляем сразу всё:

document.querySelector('.listing').after(...arrayWords.map(n => {
  const p = document.createElement('p');
  p.innerHTML = n;
  return p;
}));

// или

document.querySelector('.listing').insertAdjacentHTML('afterend', arrayWords
  .map(n => `<p>${n}</p>`)
  .join('')
);

А если не сразу всё, то всё равно обратная сортировка не нужна:

arrayWords.reduce((prev, n) => {
  const p = document.createElement('p');
  p.innerHTML = n;
  prev.after(p);
  return p;
}, document.querySelector('.listing'));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы