题目: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 1
答:
1.
function fn1(){ for(var i=0;i<arr.length;i++){ if(typeof arr[i] === ‘number‘ && arr[i] === arr[i]){ alert(arr[i]); //-98765, 34, -2, 0, 5 } } } fn1();
2.3.
var arr2 = []; function fn1(){ for(var i=0;i<arr.length;i++){ if(!isNaN(parseInt(arr[i]))){ arr2.push(arr[i]); //是数字的: 100px, -98765, 34, -2, 0, 300, 23.45元, 5 } } } fn1(); var tmp = arr2; var max = tmp[0]; for(var i = 1;i < tmp.length;i++){ if(max < tmp[i]) { max = tmp[i]; } } alert(max);
4.
var arr3 = []; function fn1(){ for(var i=0;i<arr.length;i++){ if(typeof arr[i] == ‘number‘ && isNaN(Number(arr[i]))) { arr3.push(i); } } } fn1(); alert(arr3);
原文:http://www.cnblogs.com/allenhua/p/4102535.html