Middle
მნიშვნელობის ველი მქონე ობიექტების მასივი არსებობს. უნდა შევქმნა ახალი მასივი, რომელიც შეიცავს მხოლოდ ამ ობიექტების ნომერულ მნიშვნელობებს (სტრიქონების გარეშე). როგორ გავაკეთო და როგორ დავრწმუნდე, რომ მნიშვნელობა რიცხვია?
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));
Но в вопросе указано без строк, поэтому первый вариант подходит.