Задача с массивом JS

242
17 сентября 2021, 23:00

// Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. // Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5. Мое решение:

for (i in arr) {
 let chr = Math.abs(arr[i]).toString()[0];
 if (chr === '1' || chr === '2' || chr === '5') { console.log(arr[i]); }
};

Вопрос: Есть ли возможность решить задание с помощью методов перебора массива forEach или filter?

Answer 1

filter:

const chrs = ['1', '2', '5'], 
  result = [10, 20, 30, 50, 235, 3000].filter(e => chrs.includes(e.toString()[0])) 
 
console.log(result)

forEach:

const chrs = ['1', '2', '5'], 
  arr = [10, 20, 30, 50, 235, 3000] 
let result = [] 
 
arr.forEach(e => chrs.includes(e.toString()[0]) ? result.push(e) : undefined) 
 
console.log(result)

reduce:

const chrs = ['1', '2', '5'], 
  result = [10, 20, 30, 50, 235, 3000].reduce((a, v) => { 
    chrs.includes(v.toString()[0]) ? a.push(v) : undefined 
    return a 
  }, []) 
 
console.log(result)

READ ALSO
Отправка фото с камеры IOS на форму сайта

Отправка фото с камеры IOS на форму сайта

Нужно в форму сайта добавить кнопку "Сделать фото" (IOS устройсво), при нажатии на которую открывается приложение камеры устройста, делается...

85
корректно получить ключ и его значение

корректно получить ключ и его значение

Не могу корректно получить ключ и его значение из объекта value ввида {"ключ": "значение"} и сравнить его с перемнной bbb

81
Как сделать открытие/закрытие подменю по клику не запрещая всплытие?

Как сделать открытие/закрытие подменю по клику не запрещая всплытие?

Имеется выпадающее подменюОткрывается по клику на второй пункт меню, закрывается по клику на него же, либо на любое пространство, кроме самого...

117
Про html и javascript

Про html и javascript

У меня alert, prompt и прочие функции нормально работают в файле scriptjs, но вот вызов элементов и подобные штуки не работают

83