Получите массив из чисел, содержащих цифру 8
Напишите функцию с именем luckyChineseNumber, которая принимает массив numbers в качестве аргумента и возвращает массив счастливых для китайцев чисел, т.е. чисел, содержащих цифру 8.
В решении используйте метод string.includes(otherStr[, index].
Примеры:
функция luckyChineseNumber([124, 18, 13, 8, 81, 182, 11]) должна возвратить [18, 8, 81, 182].
Пробовал так:
function luckyChineseNumber(numbers) {
let str = numbers.join(',') let arr = [];
for (let i = 0; i <= str.length; i++) {
if (str.includes('8')) arr.push(i)
}
return arr;
}
Не понимаю как вывести элементы с цифрой 8 со строки, в массив
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
У вас много лишних действий. Все числа не надо приводить к единой строке. Надо
- Пробегаться циклом уже по имеющемуся массиву
- Каждый элемент приводить к строке
- К получившейся строке из текущего элемента применить метод
includes
В итоге у вас на каждой итерации будут строки "124", "18" и т.д. У которых можно применять метод includes
let arr = [124, 18, 13, 8, 81, 182, 11];
function luckyChineseNumber(numbers) {
let arr = [];
for (let number of numbers)
if (number.toString().includes('8'))
arr.push(number);
return arr;
}
console.log(luckyChineseNumber(arr));
let arr = [124, 18, 13, 8, 81, 182, 11];
const luckyChineseNumber = (numbers) => numbers.filter(number => number.toString().includes('8'));
const luckyChineseNumber2 = (stack, number) => stack.filter(el => el.toString().includes(number));
// --------------------------------------------------------
console.log(luckyChineseNumber(arr));
console.log(luckyChineseNumber2(arr, 8));