JS如何过滤文字保留数字,并求最大值?

1 把以下数组过滤掉汉字,保留数字
2 for 循环过滤 赋值给C
3 求最大值

数据代码:

var arr_db = [
            ["画幅",400],
            ["古玩",375],
            ["汽车玩具",377],
            ["文具",322]
        ];

过滤文字,提取文字:

 function num(arr){
               var ayy = [];
               for (var i=0;i<arr.length;i++) {
                    ayy +=parseInt(arr[i][1])+',';
            }
               return ayy;
       };
   var wanju  = num(arr_db);   

数字提取后是:400,375,377,322
求最大值:

document.write(Math.max.apply(null,wanju));

为什么输出是NaN ?

阅读 4.8k
5 个回答

过滤文字,提取文字:(需要先转化为数组)

var wanju  = num(arr_db).split(',');
for (var i=0;i<arr.length;i++) {
      ayy.push(arr[i][1]);
}

一步搞定的事为什么要分2步??

var max = 0;
for (var i=0;i<arr.length;i++)
{
    if(max < arr[i][1])
    {
        max = arr[i][1];
    }
}
console.log(max);

我运行结果就是400呀

let arr_db = [["画幅", 400],["古玩", 375],["汽车玩具", 377],["文具", 322]];
let str = arr_db.join(',').split(',')
let num = str.filter( item => { return /^\d+$/gim.test(item) } )
console.log(Math.max.apply(null, num))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏