Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 28

В

Владимир in JavaScript Noobs — сообщество новичков
Ну тут больше идея того что фильтр и максимум в один проход а сортировка только в самом хорошем случае (чаще вместо n будет nlogn думаю)
источник

В

Владимир in JavaScript Noobs — сообщество новичков
Александр
Тут редьюс так и напрашивается.

const data  = [
             {name:"Misha",age:10},
             {name:"Masha",age:15},
             {name:"Sereja",age:11},
             {name:"Ksusha",age:15},
             ]
const reducer = (accumulator, currentValue) => {
 if(accumulator[0] === undefined || accumulator[0].age < currentValue.age){
   return [currentValue];
  }else if (accumulator[0].age === currentValue.age){
   return [...accumulator,currentValue];
  }else{
   return accumulator;
  }
}
console.log(data.reduce(reducer))

Типа такого?

В очередной раз замучался копировать из песочницы с мобильного...

Оно работает выдает
>>> Array [Object { name: "Masha", age: 15 }, Object { name: "Ksusha", age: 15 }]

Я в песочнице баги выловил

Просто вопрос насколько это по джаваскриптовски написано?
источник

В

Владимир in JavaScript Noobs — сообщество новичков
@SpeedWagon_S Вам этот код с редьюсом по моему больше для задачи подойдет (сразу выведет людей с макс возрастами)
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Владимир
@SpeedWagon_S Вам этот код с редьюсом по моему больше для задачи подойдет (сразу выведет людей с макс возрастами)
Ну, мне в задаче, надо писать, чуть ли не деплой код, т.е. максимально оптимизированный, и эффективный
источник

В

Владимир in JavaScript Noobs — сообщество новичков
Ivan Bobchenkov
Ну, мне в задаче, надо писать, чуть ли не деплой код, т.е. максимально оптимизированный, и эффективный
Гм ну этот в плане эффективности должен быть самым оптимальным. Хотя от кейса зависит сильно - предполагаю предыдущий с мапом и фильтром на некоторых случаях будет быстрее скорее всего т.к. меньше создания и перетирания массивов
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Владимир
Гм ну этот в плане эффективности должен быть самым оптимальным. Хотя от кейса зависит сильно - предполагаю предыдущий с мапом и фильтром на некоторых случаях будет быстрее скорее всего т.к. меньше создания и перетирания массивов
Окей! Спасибо
источник

В

Владимир in JavaScript Noobs — сообщество новичков
Незачто, мб еще подскажут где что не так
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
Ivan Bobchenkov
Кстати, может есть у кого более правильное чем у меня решение ?
function maxAge(item, index, array){
   let max = array.map(item => item.age);
   let curr = Math.max(...max);
   return item.age == curr;
}

console.log(person.filter(maxAge))
а так вар норм?
хотя некрасиво
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
Алексей Котов
function maxAge(item, index, array){
   let max = array.map(item => item.age);
   let curr = Math.max(...max);
   return item.age == curr;
}

console.log(person.filter(maxAge))
а так вар норм?
хотя некрасиво
слишком много операций
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
согласен, но предыдущий пример меняет сам массив
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
все, кроме сравнения возраста, нужно вынести из фильтра
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
я сам учусь)
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
можете поправить ?
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
теорию прочитал, а практики совсем мало
источник

🎈(

🎈JiL🎈 (Vlad) in JavaScript Noobs — сообщество новичков
Алексей Котов
function maxAge(item, index, array){
   let max = array.map(item => item.age);
   let curr = Math.max(...max);
   return item.age == curr;
}

console.log(person.filter(maxAge))
а так вар норм?
хотя некрасиво
а в чем задание?)
источник

MK

Maxim Kovalchuk in JavaScript Noobs — сообщество новичков
Алексей Котов
function maxAge(item, index, array){
   let max = array.map(item => item.age);
   let curr = Math.max(...max);
   return item.age == curr;
}

console.log(person.filter(maxAge))
а так вар норм?
хотя некрасиво
Эту задачу можно в один проход сделать, а у тебя 3
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
Maxim Kovalchuk
Эту задачу можно в один проход сделать, а у тебя 3
покажите, пж
источник

🎈(

🎈JiL🎈 (Vlad) in JavaScript Noobs — сообщество новичков
В чём суть задания то?))))
источник

А

Алексей Котов... in JavaScript Noobs — сообщество новичков
я ответил на фото, там задание
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
function maxAge(humans{
   const ages = humans.map(human => human.age);
   const maxAge = Math.max(...ages);
   return humans.filter(human => human.age === maxAge)
}
источник