猿问

网上找到一个例子,自己做了一上午总是有点问题,把我做蒙了,有木有代码给我参考参考(╥╯^╰╥)

var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];

/*

    1、找到arr里所有的数字:-98765, 34, -2, 0, 5

    2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元',  5

    3、把转成数字以后,最大值判断出来:300

    4、把 NaN 所在的位置找出来:1 14 17  19

*/


幕布斯2315112
浏览 1698回答 1
1回答

qq_青枣工作室_0

var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];var finds = [];for(var i=0;i<arr.length; i++) {  if(!isNaN(arr[i]) && typeof arr[i] === 'number') {    finds.push(arr[i]);  }}console.log('所有数字:' + JSON.stringify(finds));finds = [];var max = null, curNum;for(var i=0;i<arr.length; i++) {  curNum = parseFloat(arr[i]);  if(!isNaN(curNum)) {    finds.push(arr[i]);    if(max===null || curNum>max) max = curNum;  }}console.log('可以转成数字:' + JSON.stringify(finds));console.log('转成数字以后,最大值:' + max);finds = [];for(var i=0;i<arr.length; i++) {  if(isNaN(arr[i]) && typeof arr[i]==='number') {    finds.push(i);  } }console.log('NaN 所在的位置:' + finds.join(','));
随时随地看视频慕课网APP
我要回答