Не могу создать массив в js с выходными данными
Задача: Функція getOutdated приймає масив роботів robots і повертає масив індексів для роботів, у яких core_version менший за нову версію newVersion ПЗ.
Приклад:
const robots = [{core_version: 9}, {core_version: 13}, {core_version: 16}, {core_version: 9}, {core_version: 14}];
getOutdated(robots, 10) === [0, 3]
getOutdated(robots, 14) === [0, 1, 3]
getOutdated(robots, 8) === []
getOutdated(robots, 18) === [0, 1, 2, 3, 4]
Вопрос: в консоль мне сбоку (на фото) выводит правильные индексы, но я никак не могу собрать их в один массив, чтобы вывести, что я делаю неправильно и как доделать?
Мое решение сейчас :
function getOutdated(robots, newVersion) {
//let number = [];
for (let i = 0; i < robots.length; i++) {
//console.log(robots[i]);
if(robots[i].core_version < newVersion) {
console.log(robots.indexOf(robots[i]));
}
}
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
function getOutdated(robots, newVersion) {
let results = [];
for (let i = 0; i < robots.length; i++) {
if(robots[i].core_version < newVersion) {
results.push(i);
}
}
return results;
}
const robots = [{core_version: 9}, {core_version: 13}, {core_version: 16}, {core_version: 9}, {core_version: 14}];
console.log(JSON.stringify(getOutdated(robots, 10))); // === [0, 3]
console.log(JSON.stringify(getOutdated(robots, 14))); // === [0, 1, 3]
console.log(JSON.stringify(getOutdated(robots, 8))); // === []
console.log(JSON.stringify(getOutdated(robots, 18))); // === [0, 1, 2, 3, 4]
