首页 > 代码库 > 一道javascript数组操作题
一道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, "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, 5var 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元", 5var 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, 19var _index = [];for(var n=0; n<arr.length; n++){ if(Number.isNaN(arr[n])){ _index.push(n); }}console.log(_index);
查了资料才完成的,不用忘得好快啊
有感:“温故而知新”,已记之~
一道javascript数组操作题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。