Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 15.09.2019, 23:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

xcube,
может так чуть быстрее будет.
const datas = [{name : 1, price : 100} , {name : 2, price : 45}, {name : 3, price : 400}],
      datab = [{name : 1, price : 5} , {name : 2, price  : 33}],
      obj = datas.reduce((obj, {name, price}) => (obj[name] = price, obj), {}),
      dataz = datab.map(v => {
      const {name} = v ;
      v.цена = obj[name] ;
      return v
      });


console.log(dataz)
Ответить с цитированием
  #22 (permalink)  
Старый 15.09.2019, 23:48
Интересующийся
Отправить личное сообщение для xcube Посмотреть профиль Найти все сообщения от xcube
 
Регистрация: 15.09.2019
Сообщений: 15

рони,
Ооо всё работает!
Остался последний шажок - если в dataz "price" больше "цены" - вывести клиенту инфу об объекте.
Решается перебором объектов в ячейках массива?
Помогите, пожалуйста.

Последний раз редактировалось xcube, 15.09.2019 в 23:51.
Ответить с цитированием
  #23 (permalink)  
Старый 16.09.2019, 00:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

xcube,
const datas = [{name : 1, price : 100} , {name : 2, price : 45}, {name : 3, price : 400}],
      datab = [{name : 1, price : 5} , {name : 2, price  : 330}],
      obj = datas.reduce((obj, {name, price}) => (obj[name] = price, obj), {}),
      arr = [],
      dataz = datab.map(v => {
      const {name} = v ;
      v.цена = obj[name];
      if (v.price > v.цена)  arr.push(v);
      return v
      });


console.log(arr, dataz)
Ответить с цитированием
  #24 (permalink)  
Старый 16.09.2019, 00:19
Интересующийся
Отправить личное сообщение для xcube Посмотреть профиль Найти все сообщения от xcube
 
Регистрация: 15.09.2019
Сообщений: 15

рони,
20 минут сижу думаю, не могу найти.
Где то что то не то, скрипт вывел 8 объектов (из 60 совпадений по cName) и у всех "price" меньше "цены"
Ответить с цитированием
  #25 (permalink)  
Старый 16.09.2019, 00:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

xcube,
if (+v.price > +v.цена)  arr.push(v);
попробуйте так
Ответить с цитированием
  #26 (permalink)  
Старый 16.09.2019, 00:59
Интересующийся
Отправить личное сообщение для xcube Посмотреть профиль Найти все сообщения от xcube
 
Регистрация: 15.09.2019
Сообщений: 15

рони,
Работает! Всё отлично. Большое спасибо за помощь!
Ответить с цитированием
  #27 (permalink)  
Старый 16.09.2019, 02:13
Интересующийся
Отправить личное сообщение для xcube Посмотреть профиль Найти все сообщения от xcube
 
Регистрация: 15.09.2019
Сообщений: 15

Быть может есть способ ускорить и упростить? Один цикл 500+ объектов секунд 60 обрабатывает
А после 2-3 циклов и вовсе перестает реагировать..

Последний раз редактировалось xcube, 16.09.2019 в 02:16.
Ответить с цитированием
  #28 (permalink)  
Старый 16.09.2019, 10:46
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от xcube
Один цикл 500+ объектов секунд 60 обрабатывает
мы, наверно, что-то не знаем? 500 объектов даже с предыдущим вариантом рони (где вложенный цикл) должны за полсекунды пролетать, не более
Ответить с цитированием
  #29 (permalink)  
Старый 16.09.2019, 22:58
Интересующийся
Отправить личное сообщение для xcube Посмотреть профиль Найти все сообщения от xcube
 
Регистрация: 15.09.2019
Сообщений: 15

Alexandroppolus,
Браузер зависает на секунд 10 именно в момент перебора.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возникла проблема с анимацией кнопки после внедрения js кода! Помогите пожалуйста. DobrovolskyDen (X)HTML/CSS 0 08.05.2018 21:48
Помогите разобратся(работа с массивами JS)! Avanesyan Общие вопросы Javascript 2 15.01.2018 21:31
Помогите вынести js в отдельный скрипт pozitiv4ek Events/DOM/Window 9 15.01.2018 10:48
Помогите расшифровать JS pavdin Общие вопросы Javascript 24 01.04.2017 20:37
Помогите решить задачу с массивами! KaTaJLonec Общие вопросы Javascript 4 02.02.2015 00:25