Javascript/jQuery:从数组中删除所有非数值
对于数组:Javascript/jQuery:从数组中删除所有非数值,javascript,jquery,arrays,Javascript,Jquery,Arrays,对于数组:[“5”、“某物”、“83”、“文本”、“字符] 如何从数组中删除所有非数值和空值?所需输出:[“5”,“83”]使用一个回调函数,该函数: 对于像IE8这样的旧浏览器。我需要这样做,根据上面的答案,我发现这个功能现在已经以$.isNumeric()的形式内置到jQuery中: 因此,本质上是.filter(),您提供的函数.filter()是$.isNumeric(),它根据该项是否为数字给出真/假值。好的资源是可用的,很容易通过谷歌找到如何使用这些。我的代码实际上将拒绝代码推出到另
[“5”、“某物”、“83”、“文本”、“字符]
如何从数组中删除所有非数值和空值?所需输出:[“5”,“83”]
使用一个回调函数,该函数:
对于像IE8这样的旧浏览器。我需要这样做,根据上面的答案,我发现这个功能现在已经以
$.isNumeric()的形式内置到jQuery中:
因此,本质上是.filter()
,您提供的函数.filter()
是$.isNumeric()
,它根据该项是否为数字给出真/假值。好的资源是可用的,很容易通过谷歌找到如何使用这些。我的代码实际上将拒绝代码推出到另一个数组中,以通知用户他们在上面给出了错误的输入,因此您有一个双向功能的示例。@blazemonger,谢谢您的链接,但它没有回答我的具体问题。如何应用filter
函数仅选择第一项和3n+4项?使用过滤器回调。明白了,非常感谢!)请随意添加它作为答案,以便我可以接受它。
var arr2 = arr.filter(function(el) {
return el.length && el==+el;
// more comprehensive: return !isNaN(parseFloat(el)) && isFinite(el);
});
$('#button').click(function(){
// create an array out of the input, and optional second array.
var testArray = $('input[name=numbers]').val().split(",");
var rejectArray = [];
// push non numeric numbers into a reject array (optional)
testArray.forEach(function(val){
if (!$.isNumeric(val)) rejectArray.push(val)
});
// Number() is a native function that takes strings and
// converts them into numeric values, or NaN if it fails.
testArray = testArray.map(Number);
/*focus on this line:*/
testArray1 = testArray.filter(function(val){
// following line will return false if it sees NaN.
return $.isNumeric(val)
});
});