题目如下:

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);

查了资料才完成的,不用忘得好快啊

一道javascript数组操作题的更多相关文章

  1. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  2. javascript数组操作(创建、元素删除、数组的拷贝)

    这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = ...

  3. JavaScript 数组操作函数--转载+格式整理

    JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...

  4. Javascript数组操作

    使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...

  5. Javascript数组操作(转)

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  6. JavaScript 数组操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. javascript 数组操作 转

    javascript之数组操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一 ...

  8. javascript数组操作汇总

    javascript之数组操作 - 不悔的青春 - 博客园 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array( ...

  9. javaScript数组操作整理

    一.js数组 1.创建数组: var arr = new Array();//创建没有元素空数组 var arr1 = new Array("value1","valeu ...

随机推荐

  1. 简单好记的Jdk 环境变量配置

  2. 15-static和extern关键字1-对函数的作用

    一.extern与函数 如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.ob ...

  3. java中使用javamail发送邮件

    1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP. 其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMT ...

  4. Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details

    thinkphp 在Apache上配置启用伪静态,重启Apache1 restart 竟然失败了,报错 Job for httpd.service failed because the control ...

  5. swfupload 相关配置

    部署在IIS上出现404: 修改 C:\Windows\System32\inetsrv\config\applicationHost.config 文件 连续查找requestFiltering,往 ...

  6. Android 复制文本内容到系统剪贴板的最简单实践

    这个例子很简单,直接上截图和代码. 布局文件activity_copy.xml代码如下: <?xml version="1.0" encoding="utf-8&q ...

  7. 基于Vue.js的表格分页组件

    有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...

  8. LDR、STR指令

    LDR(load register)指令将内存内容加载入通用寄存器 STR(store register)指令将寄存器内容存入内存空间中 #define GPJ0CON 0xE0200240 _sta ...

  9. 【repost】JavaScript完美运动框架的进阶之旅

    运动框架的实现思路 运动,其实就是在一段时间内改变left.right.width.height.opactiy的值,到达目的地之后停止. 现在按照以下步骤来进行我们的运动框架的封装: 匀速运动. 缓 ...

  10. 理解SVG的viewport,viewBox,preserveAspectRatio

    万丈高楼平地起,基础很重要. viewport 表示SVG可见区域的大小,或者可以想象成舞台大小,画布大小. <svg width="500" height="30 ...