Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript忽略数组中的字符串和小数点_Javascript_Arrays - Fatal编程技术网

javascript忽略数组中的字符串和小数点

javascript忽略数组中的字符串和小数点,javascript,arrays,Javascript,Arrays,请给我一个数组[45,66,90,'再见',100.5] 我想编写一个javascript函数来忽略“bye”和“.5”,并得到一个返回数组[45,66,90,100]作为我的输出,但我不知道该怎么做我对javascript还不熟悉。这就是我试过的 var filterFloat=函数(值){ if(/^(\-\+)?([0-9]+(\.[0-9]+)?|无穷大)$/.test(value)) 返回编号(值); 返回NaN; } log(filterFloat('100.5'))您可以使用re

请给我一个数组[45,66,90,'再见',100.5] 我想编写一个javascript函数来忽略“bye”和“.5”,并得到一个返回数组[45,66,90,100]作为我的输出,但我不知道该怎么做我对javascript还不熟悉。这就是我试过的

var filterFloat=函数(值){
if(/^(\-\+)?([0-9]+(\.[0-9]+)?|无穷大)$/.test(value))
返回编号(值);
返回NaN;
}

log(filterFloat('100.5'))
您可以使用
reduce
。您可以使用
Math.floor
对数字进行四舍五入

var-arr=[45,66,90,'bye',100.5];
var结果=arr.REDUCT((c,v)=>{
如果(!isNaN(v))c.push(数学楼层(v));
返回c;
},[]);

控制台日志(结果)您可以按照以下步骤操作:

  • 解析数组中的值以将其转换为
    整数
    。这将把值转换为
    整数
  • 然后,您可以使用
    isNaN
    方法检查解析后的值是否实际是一个数字。这将帮助您检测数组中可以在结果集中忽略的
    字符串
var-arr=[45,66,90,'bye',100.5];
var结果=[];
arr.map((项目)=>{
如果(!isNaN(parseInt(item))){
push(parseInt(item));
}
});

控制台日志(结果)以下是一个简短的答案:

var result = t.map(i => parseInt(i)).filter(Boolean)

您的正则表达式允许小数点Hanks bro很好的代码,但我如何将其实现到这段代码中:函数接收一个数组整数,并应返回一个排序后的输入整数数组,以便奇数排在第一位,偶数排在最后。函数mySort(nums){var ar=[];var br=[];var cr;for(var i=0;i0
(尽管无可否认,这不在示例数据中)