Проблема

Я знаю, что название цепляет, но я также считаю, что программирование - это страсть, поэтому, как и любые отношения, числа и строки в программировании идут бок о бок.

Давайте создадим функцию, которая принимает массив строк и возвращает массив, содержащий только строки, содержащие числа. Если нет строк, содержащих числа, вернуть пустой массив.

Понять проблему

Наша функция должна выводить что-то вроде этого:

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"]

Это то, что я называю алгоритмом любви в кодировании, счастливого кодирования ...