Задать вопрос
@as_viper
Начинающий веб-разработчик

Как вывести в консоль только те числа, которые начинаются с цифры 3 или 7?

Нужно создать массив arr = [] и в нем реализовать:
1. Записать в него 7 любых многозначных чисел в виде строк(Выполнил)
2. Вывести в консоль только те, что начинаются с цифры 3 или 7.

С пунктом №2 завис.

let arr = [32, 27, 755, 104, 47, 78, 377],
    num = arr.slice(3,-2);
console.log(arr);
console.log(num);
  • Вопрос задан
  • 4523 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 3
@StockholmSyndrome
let arr = ['32', '27', '755', '104', '47', '78', '377']; // в виде строк

arr.forEach((item) => {
  if (item.startsWith('3') || item.startsWith('7')) {
    console.log(item);
  }
});
Ответ написан
Комментировать
@DanKud
let arr = [32, 27, 755, 104, 47, 78, 377];

arr.forEach(em => {
  if (String(em).search(/(3|7)/) === 0) console.log(em);
})
Ответ написан
Комментировать
@titelhalter
num = arr.slice(3,-2)

Вы пытаетесь вернуть массив из элементов с 3 по -2 из оригинального массива.

Вам нужно что-то похожее на:
arr.forEach(x => (String(x)[0] == 3 || String(x)[0] == 7) && console.log(x));
Либо можно отсортировать массив и записать его в переменную для дальнейшей работы.
let filteredArr = arr.filter(x => String(x)[0] == 3 || String(x)[0] == 7);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@kova1ev
slice же просто копирует участок массива. Зачем он тут вообще нужен?

Перебирайте массив и сравнивайте с нужным. То что подходит, выводите в консоль.
Ответ написан
@evgeniy-kolmak
let arr = ['32', '27', '755', '104', '47', '78', '377'];

for (let i = 0; i < 7; i++) {
  if (arr[i].startsWith('3') || arr[i].startsWith('7')) {
    console.log(arr[i]);
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы