Sobes.tech
Middle

Масиве аз объектҳо бо майдони value вуҷуд дорад. Ман бояд масив нав эҷод кунам, ки танҳо арзишҳои рақамӣ аз ин объектҳо (бе сатрҳо) дар он бошанд. Чӣ гуна инро анҷом диҳам ва чӣ гуна санҷам, ки арзиш рақам аст?

sobes.tech AI

Ҷавоб аз AI

Чтобы из массива объектов получить новый массив, содержащий только числовые значения поля value, можно использовать методы filter и map в JavaScript.

Проверить, что значение является числом, можно с помощью функции typeof и проверки на NaN:

const arr = [
  { value: 10 },
  { value: '20' },
  { value: 30 },
  { value: 'abc' },
  { value: 40 }
];

const numbers = arr
  .map(obj => obj.value)
  .filter(val => typeof val === 'number' && !isNaN(val));

console.log(numbers); // [10, 30, 40]

Здесь:

  • map извлекает поле value из каждого объекта.
  • filter оставляет только те значения, которые имеют тип number и не являются NaN.

Если нужно также учитывать числовые строки, можно использовать Number и проверять результат:

const numbers = arr
  .map(obj => Number(obj.value))
  .filter(val => !isNaN(val));

Но в вопросе указано без строк, поэтому первый вариант подходит.