题目如下:
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, "300", "23.45元", 5 //3、把转换成数字以后,最大值判断出来:300 //4、把NaN所在的位置找出来:1, 14, 17, 19
1、找到arr里所有的数字:-98765, 34, -2, 0, 5
//1、找到arr里所有的数字:-98765, 34, -2, 0, 5 var num1 =[]; for(var i = 0 ;i<arr.length; i++){ //筛选出数字和能转换成数字的字符串 var re = /^(\-?)\d+$/; if(re.test(arr[i]) && typeof(arr[i]) != ‘string‘){ num1.push(arr[i]); } } console.log(num1);
2、找到可以转换成数字的:"100px", -98765, 34, -2, "300", "23.45元", 5
//2、找到可以转换成数字的:"100px", -98765, 34, -2, "300", "23.45元", 5 var num2=[]; for(var j =0; j<arr.length; j++){ //parseInt解析一个字符串,并返回一个整数 if(parseInt(arr[j])){ num2.push(arr[j]); } } console.log(num2);
3、把转换成数字以后,最大值判断出来:300
//3、把转换成数字以后,最大值判断出来:300 //假设最大值为数组的第一个元素,循环比对 var _max = num2[0]; for(var m=0; m<num2.length; m++){ if(_max < num2[m] ){ _max = num2[m]; } } console.log(_max);
4、把NaN所在的位置找出来:1, 14, 17, 19
//4、把NaN所在的位置找出来:1, 14, 17, 19 var _index = []; for(var n=0; n<arr.length; n++){ if(Number.isNaN(arr[n])){ _index.push(n); } } console.log(_index);
查了资料才完成的,不用忘得好快啊
有感:“温故而知新”,已记之~
时间: 2024-10-01 20:26:54