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)
      });
    });