一道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, 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

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

RX学习笔记:JavaScript数组操作

RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.unshift(123); array.unshift("value1","value2"); push() 在数组末尾添加元素 array.push("value"); array.push(123); array.push("value1&

一个js数组操作题

JS 控制一串数组,每隔2两秒显示 7个 数,要求自动拼接. 列如:var nums='1,2,3,4,5,6,7,8,9'; 第一次输出‘1,2,3,4,5,6,7’  第二次输出'8,9,1,2,3,4,5' 第三次输出'6,7,8,9,1,2,3' var array = [1,2,3,4,5,6,7,8,9]; var dom = document.getElementById('a'); function go(){ var result = array.splice(0,7); ar

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

这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创

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

JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,concat的总结.身为一个有点完美主义的强迫症患者来说,原文的格式,差点杀死我.so,这篇文章就出来了……原文:传送门. 一.push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作. push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度. 注意:如果参数也是

JavaScript 数组操作

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组操作</title> </head> <body> <script type="text/javascript"> //定义数组 var arry = [0,1,2,3,5,6,7,8]; //获取

JavaScript数组操作详情

Array 数组概述 Array 类型是 ECMAScript 最常用的类型.javaScript 中的 Array 类型和其他语言中的数组有着很大的区别. 虽然数组都是有序排列,但 javaScript中的数组每个元素可以保存任何类型. javaScript 中数组的大小也是可以调整的. 创建数组的两种方式 new 运算符创建数组 var box1 = new Array(); //创建了一个数组,数组属于object类型 var box2 = new Array(10); //创建一个包含

JavaScript数组操作函数

1.concat() 连接两个或更多的数组 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.例如: <script type="text/javascript"> var arr = [1, 2, 3]; var arr1 = [11, 22, 33]; document.write(arr.concat(4, 5, arr1)); </script> 输出结果: 1,2,3,4,5,11,22,33 2.join() 把数组的所有元素放入一个字符串

javascript数组操作

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS

【JS】Javascript数组操作

1.提取数组中每个对象的某个属性组成新的数组 如数组为: let arry = [ { name: 'zhao', 'age': 18 }, { name: 'qian', 'age': 19 }, { name: 'sun', 'age': 18 } ] 提取方法: arry.map(function(v) { return v.name }) 原文地址:https://www.cnblogs.com/tigerhsu/p/10522065.html