Проблема
Я знаю, что название цепляет, но я также считаю, что программирование - это страсть, поэтому, как и любые отношения, числа и строки в программировании идут бок о бок.
Давайте создадим функцию, которая принимает массив строк и возвращает массив, содержащий только строки, содержащие числа. Если нет строк, содержащих числа, вернуть пустой массив.
Понять проблему
Наша функция должна выводить что-то вроде этого:
numberInString(["1j", "l", "2c", "b"]) ➞ ["1j", "2c"]
numberInString(["jamal", "jamal10"]) ➞ ["jamal10"]
numberInString(["jam", "ja10m", "a10bc", "bcd"]) ➞
["ja10m", "a10bc"]
Решение 1 (кратчайший ответ)
const numberInString = arr => { arr.filter(x=>/\d/.test(x));}
Решение 2 (длинный ответ)
function numberInString(arr) { let numbers = '0123456789'; let stringAndNumber = []; for (let element of arr) { for (let num of numbers) { if (element.includes(num)) { stringAndNumber.push(element); break; } } } return stringAndNumber; }
Вывод / тестирование
numberInString(["jamalino", "jamal22", "2jj"]) ➞ ["jamal22", "2jj"]
numberInString(["jamalino300", "jamal"]) ➞ ["jamalino300"]
numberInString(["jam", "ja10m", "a10bc", "bcd"]) ➞
["ja10m", "a10bc"]
Это то, что я называю алгоритмом любви в кодировании, счастливого кодирования ...