请我有一个阵列[45,66,90,' bye',100.5] 我想编写一个javascript函数来忽略' bye'以及" .5"得到一个[45,66,90,100]的返回数组作为我的输出,但我不知道如何去做它我是javascript的新手。这就是我试过的
[{
"id": "B001",
"description": "T-Shirt",
"price": 250
},
{
"id": "B002",
"description": "Shirt",
"price": 220
},
{
"id": "B003",
"description": "Jeans",
"price": 210
},
......]

答案 0 :(得分:1)
您可以使用reduce
。您可以使用Math.floor
对数字进行舍入。
var arr = [ 45, 66, 90, 'bye', 100.5 ];
var result = arr.reduce((c,v)=>{
if ( !isNaN( v ) ) c.push( Math.floor( v ) );
return c;
},[]);
console.log( result );
Doc:.reduce()
答案 1 :(得分:0)
您可以按照以下步骤操作:
integer
。这会将值转换为integer
isNaN
方法检查解析的值是否实际上是数字。这将帮助您检测数组中的string
值,您可以在结果集中省略这些值。
var arr = [ 45, 66, 90, 'bye', 100.5 ];
var result = [];
arr.map((item) => {
if(!isNaN(parseInt(item))){
result.push(parseInt(item));
}
});
console.log(result);
答案 2 :(得分:0)
这是一个较短的答案:
var result = t.map(i => parseInt(i)).filter(Boolean)