Задать вопрос
@Kipsi

В чем будет отличия map от forEach при сортировке?

Здравствуйте. Подскажите пожалуйста как поменяется функционал сортировки если forEach заменить на map?
const sortRev = document.querySelector('.sortRev');
const result = document.querySelector('.result');

function sortByFeed(arrs) {
 const arrCopy = JSON.parse(JSON.stringify(arrs));
 arrCopy.forEach((item) => {return item.ratingRevievs = +item.ratingRevievs.replace(/\D/g, '')}) 
 arrCopy.sort((a,b) => {return a.ratingRevievs > b.ratingRevievs ? 1 : -1})
  result.innerHTML = ''
  arrCopy.forEach((items) => {
   result.innerHTML += `
    <h3>${items.name}</h3>
    <p>${items.ratingRevievs}</p>
   `
 }) 
}

sortRev.addEventListener('click' , () => {
  sortByFeed(items)
})

arrCopy.map((item) => {...}) 
 arrCopy.map((items) => {...})
  • Вопрос задан
  • 214 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Seasle
@Seasle Куратор тега JavaScript
forEach перебирает текущую коллекцию, map перебирает текущую и возвращает новую.
Ответ написан
Комментировать
john36allTa
@john36allTa
alien glow of a dirty mind
Не по теме,но так лучше и наглядно и по количеству вычислений
function sortByFeed(arrs) {
 const arrCopy = JSON.parse(JSON.stringify(arrs));
 const h = item => +item.ratingRevievs.replace(/\D/g, '')
 arrCopy.sort((a,b) => h(a) - h(b))
  result.innerHTML = ''
  arrCopy.forEach((items) => {
   result.innerHTML += `
    <h3>${items.name}</h3>
    <p>${items.ratingRevievs}</p>
   `
 }) 
}
Ответ написан
Комментировать
@Che603000
c 2011 javascript
const arrCopy = JSON.parse(JSON.stringify(arrs))
 .map(item => {
   item.ratingRevievs = +item.ratingRevievs.replace(/\D/g, ''); 
   return item;
 })
 .sort((a,b) => a.ratingRevievs > b.ratingRevievs ? 1 : -1)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект