Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.11.2020, 13:29
Новичок на форуме
Отправить личное сообщение для Liubov Посмотреть профиль Найти все сообщения от Liubov
 
Регистрация: 15.11.2020
Сообщений: 9

Сравнить 2 массива
Помогите решить задачу:

Мы проанализировали роботов.
Нужно сравнить результаты роботов попарно(compareRobots), сравниваться будет сумма веса всех грузов, которые перенес каждый робот (firstRobotResults, secondRobotResults) в день. Кто из роботов эффективнее, тот и пойдет на продажу.

Мое решение:
function compareRobots(firstRobotResults, secondRobotResults) {

if(firstRobotResults>secondRobotResults){
return 'First robot for sale!';
}else if(secondRobotResults>firstRobotResults){
return "Second robot for sale!";
}else{
return 'Both robots for sale!';
}
}
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2020, 14:13
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Вам сюда
https://learn.javascript.ru/array-methods#sort-fn
отсортируйте массив первый и пли последний в зависимости от сортировки будет ваш
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2020, 14:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Vlasenko Fedor
отсортируйте массив первый и пли последний в зависимости от сортировки будет ваш
это как?

Сообщение от Liubov
сумма веса всех грузов
может не sort, а reduce()
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2020, 14:28
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от рони
это как?
пусть TC даст вводные данные
предпологалось подобное
const robots = [{name: 'Ivan', sum: 20}, {name: 'Petr', sum: 40}, {name: 'Igor', sum: 70}]

Последний раз редактировалось Vlasenko Fedor, 26.11.2020 в 14:30.
Ответить с цитированием
  #5 (permalink)  
Старый 26.11.2020, 21:07
Новичок на форуме
Отправить личное сообщение для Liubov Посмотреть профиль Найти все сообщения от Liubov
 
Регистрация: 15.11.2020
Сообщений: 9

Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 27.11.2020, 12:30
Новичок на форуме
Отправить личное сообщение для Liubov Посмотреть профиль Найти все сообщения от Liubov
 
Регистрация: 15.11.2020
Сообщений: 9

Не получается...
function compareRobots(firstRobotResults, secondRobotResults) {


firstRobotResults.reduce((sum, current) => sum + current);
secondRobotResults.reduce((sum, current) => sum + current);

if(firstRobotResults>secondRobotResults){
return 'First robot for sale!';
}

if(firstRobotResults<secondRobotResults){
return "Second robot for sale!";
}

if(firstRobotResults=secondRobotResults){
return 'Both robots for sale!';
}
}
Ответить с цитированием
  #7 (permalink)  
Старый 27.11.2020, 13:20
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Если вы учитесь, то надо читать документацию
https://developer.mozilla.org/ru/doc...s/Array/Reduce

reduce не просто применяется к массиву, а еще возвращает значение.
Ответить с цитированием
  #8 (permalink)  
Старый 27.11.2020, 13:24
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Liubov,
Почему я вам предложил сортировку, а не reduce
Стоит раз отсорировать массив по возростанию а затем брать элементы последний элемент arr.pop()
Сортировку делаете один раз, далее arr.pop()
Первого, на продажу, второго и так далее пока не закончатся
Мыслите глобально

Последний раз редактировалось Vlasenko Fedor, 27.11.2020 в 13:36. Причина: Пропустил ч
Ответить с цитированием
  #9 (permalink)  
Старый 27.11.2020, 13:32
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сообщение от Liubov
сравниваться будет сумма веса всех грузов,
И при чем тут сортировка?
Ответить с цитированием
  #10 (permalink)  
Старый 27.11.2020, 14:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Liubov,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнить два массива объектов Роман Андреевич Общие вопросы Javascript 0 15.04.2019 15:22
Сравнить элементы массива Роман Андреевич Общие вопросы Javascript 2 13.12.2018 10:26
Сравнить два массива bohdantheone Общие вопросы Javascript 79 07.02.2018 10:04
Сравнить два двумерных массива victornalchik Элементы интерфейса 3 29.01.2018 22:52
сравнить два массива Роман Андреевич Общие вопросы Javascript 2 04.10.2017 14:12