题目一: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 //arr[i] === arr[i] 排除NaN
}
}
} 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);

题目二:

请输入QQ号码:<input type="text" />
<input type="button" value="判断" />

<br />
1、有没有输入<br />
2、输入的是不是数字<br />
3、不能有0在前面<br />
4、不能是小数<br />
5、输入的数字必须在5位以上、10位以内<br />

答:

 window.onload = function(){
var oInput = document.getElementsByTagName('input');
oInput[1].onclick = function(){
if(oInput[0].value ==''){
alert('没有输入值');
oInput[0].focus();
return false;
}
if(typeof(Number(oInput[0].value)) != 'number'){
alert('不是数字');
oInput[0].focus();
return false;
}
if(parseInt(oInput[0].value) != parseFloat(oInput[0].value)){
alert('不能是小数字');
oInput[0].focus();
return false;
}
if(oInput[0].value.length > 5 && oInput[0].value.length >= 10){
alert('必须在5位以上、10位以内');
oInput[0].focus();
return false;
}
if(oInput[0].value != parseInt(oInput[0].value).toString() ){
alert('不能有0在前面'); //字符转数字,再转回字符,自然会过滤掉0开头的部分 <!-- onkeyup="this.value=this.value.replace(/^([0]{1,})|\D/g,'')"-->
oInput[0].focus();
return false;
}
}
}

Javascript 数组之判断取值和数组取值的更多相关文章

  1. C# 在数组中判断是否存在某个数组值

    (1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...

  2. js -【 数组】判断一个变量是数组类型的几种方法

    怎么判断一个数组是数组呢? 其实这个也是一个常考的题目.依稀记得我为数不多的面试经过中都被问道过. 方案一: instanceof variable instanceof Array 解决思路: 使用 ...

  3. 如何判断一个变量是数组Array类型

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  4. JavaScript用typeof判断变量是数组还是对象,都返回object

    在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...

  5. javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

    主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除 ...

  6. JS如何判断一个数组是否为空、是否含有某个值

    一.js判断数组是否为空 方法一:  arr.length let arr = []; if (arr.length == 0){ console.log("数组为空") }els ...

  7. JavaScript中如何判断数组类型

    前言 JavaScript中关于数组的判定问题,一直都是一个必须要掌握的点,那么,运用知识,如何判断一个类型是数组,就需要有对JavaScript使用有着深入的了解. 判断方法 一.Array.isA ...

  8. js javascript 如何获取某个值在数组中的下标

    js 某个值在数组中的下标javascript中知道一个数组中的一个元素的值,如何获取数组下标JS 获取数组某个元素下标 函数方法 采用prototype原型实现方式,查找元素在数组中的索引值js查找 ...

  9. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和

    一.前言 简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/746.html 数字格式化 1234567890 --> 1,234,567,890:argr ...

  10. 抓取二维数组某值出来,到一维数组---array_column

    /*** * '抓取二维数组某值出来,到一维数组' * @param $arr * @param $item * @return array */ function get_arr_item_val( ...

随机推荐

  1. Java可变参数/可变长参数

    Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...

  2. PHP 防范xss攻击

    XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现! 看看常见的恶意字符XSS 输入: 1.XSS 输入通常包含 JavaScript ...

  3. JS回车键处理

    HTML <input type="text" id="keyword" name="keyword" autocomplete=&q ...

  4. GET请求和POST请求简单说明

    一.概述 * HTTP/1.1协议共定义了8中请求方法:OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE, CONNECT. * GET方法和POST是我们使用 ...

  5. 【函数】oracle translate() 详解+实例

      一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string.TRAN ...

  6. 跟开涛老师学shiro -- 编码/加密

    在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shir ...

  7. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  8. 关于项目中用到的流程的sql和表

    select * from FLOW_MAIN SEQCODE FULL_NAME SHORT_NAME FLOW_DESC CREATE_TIME UPDATE_TIME 1 CoursePackF ...

  9. POJ 3114 Countries in War(强连通)(缩点)(最短路)

                                    Countries in War Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  10. 后台向前台传递entity的list然后构筑combobox的方法(easyui)

    遇问题,莫着急,深呼吸. 后台写法:JsonUtil.toJson(new ArrayList<Entity>());此处jsonUtil是已封装的方法,即将entity的list转为js ...