js判断数组,对象是否存在某一未知元素
2015-09-30 11:40
701 查看
1.对象
但是对于obj内的原型对象,也会查找到:
所以,使用hasOwnProperty()更准确:
2.数组
如何判断数组内是存在某一元素?主流,或者大部分都会想到循环遍历,其实不循环也可以,通过数组转换查找字符串:
通过While循环:
for循环:
var obj = { aa:'1111', bb:'2222', cc: '3333' }; var str='aa'; if(str in obj){ console.log(obj[str]); }
但是对于obj内的原型对象,也会查找到:
var obj = { aa:'1111', bb:'2222', cc: '3333' }; var str='toString'; if(str in obj){ console.log(obj[str]); }
所以,使用hasOwnProperty()更准确:
var obj = { aa: '1111', bb: '2222', cc: '3333' }; var str = 'aa'; if (obj.hasOwnProperty(str)) { console.log(111); }else{ console.log(222); }
2.数组
如何判断数组内是存在某一元素?主流,或者大部分都会想到循环遍历,其实不循环也可以,通过数组转换查找字符串:
var test = ['a', 3455, -1]; function isInArray(arr, val) { var testStr = arr.join(','); return testStr.indexOf(val) != -1 }; alert(isInArray(test, 'a'));
通过While循环:
Array.prototype.contains = function(obj) { var len = this.length; while (len--) { if (this[len] === obj) { return true } } return false; };
for循环:
Array.prototype.contains = function(obj) { var len = this.length; for (var i = 0; i < len; i++) { if (this[i] === obj) { return true } } return false; }
相关文章推荐
- Javascript和OCX的结合历程
- web-js入门
- eval、json.parse()的介绍和使用注意点
- jstl fmt:formatNumber 数字货币格式化
- jsp语法 指令 内置对象
- JavaScript(一)
- JSP学习笔记之基础语法
- JSON.parse()和eval()的区别
- js 一个等号"=" 二个等号"==" 三个等号"===" 的区别
- JS实现密码加密
- js实现创建删除html元素小结
- jsoup方法string转document
- jsoup方法string转document
- 使用Three.js + Blender构建在浏览器端显示的3D模型(4)
- 使用Three.js + Blender构建在浏览器端显示的3D模型(3)
- 使用Three.js + Blender构建在浏览器端显示的3D模型(2)
- 使用Three.js + Blender构建在浏览器端显示的3D模型(1)
- BJSV-P-003高清智能卡口系统
- js技巧笔记(不断更新)
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具