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

Как исключить из массива текст?

Как исключить из массива текст?

let arr = [20, 33, 1, "Человек", 2, 3];
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Как понять, что значение является строкой:

// смотрим, что скажет оператор typeof
const isString = x => typeof x === 'string';

// сравниваем значение и результат его преобразования в строку
const isString = x => x === `${x}`;

// проверяем конструктор (помимо примитивов, выдаёт true и для строковых объектов)
const isString = x => x != null && x.constructor === String;

Избавляемся от строк:

// cобираем новый массив
const newArr = arr.filter(n => !isString(n));

// удаляем элементы существующего
arr.length -= arr.reduce((acc, n, i, a) => (
  a[i - acc] = n,
  acc + isString(n)
), 0);
Ответ написан
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Ну
let arr = [20, 30, 1, "Человек", 2, 3];
let isNumericArr = arr.filter(x => typeof x === 'number');

Сюда попадет и NaN, но если вам мешает только строка, то норм. Можно конечно добавить дополнительную проверку isNaN.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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