Javascript 数组之判断取值和数组取值

题目: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);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。