script 给定一个数组,请编写函数实现返回数组中的数值型数据。数组为: ['100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90]
时间: 2023-12-23 15:04:48 浏览: 67
好的,您可以使用以下 JavaScript 代码实现:
```javascript
function getNumericValues(arr) {
const numericValues = [];
for (const val of arr) {
if (typeof val === 'number' && !isNaN(val)) {
numericValues.push(val);
} else if (typeof val === 'string') {
const num = Number.parseFloat(val);
if (!isNaN(num)) {
numericValues.push(num);
}
}
}
return numericValues;
}
const array = ['100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
const numericValues = getNumericValues(array);
console.log(numericValues);
```
这个函数会遍历传入的数组,判断每个元素是否为数字类型且不是 NaN。如果元素是字符串类型,则尝试将其转换为数字类型,如果成功则将其添加到一个新的数组中。
在这个特定的例子中,函数返回的数值型数据为 `[-6, -98765, 34, -2, 0, 300, 5, 23.45]`。注意,函数会忽略掉空值、函数和 null 等非数值型数据。
阅读全文