一、JQuery

如果是用JQuery的话,可以用inArray()函数:

jquery inarray()函数详解
jquery.inarray(value,array)
确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。

determine the index of the first parameter in the array (-1 if not found).
返回值
jquery
参数
value (any) : 用于在数组中查找是否存在
array (array) : 待处理数组。

用法为:

[javascript] view plain copy
  1. $.inArray(value, array)
for (var int = 0; int < array.length; int++) {var tradingRecordTypeId = array[int].tradingRecordTypeId;var tradingRecordTypeName = array[int].tradingRecordTypeName;//排除其它账户选中记录if($.inArray(tradingRecordTypeId,otherTradingRecordTypeIdArray) < 0){//已经选过的添加选中标记if($.inArray(tradingRecordTypeId,tradingRecordTypeIdArray) >= 0){template += '<tr><td><input type="checkbox" checked="checked" name="tradingRecordTypeId" id="tradingRecordTypeId" value="'+ tradingRecordTypeId +'"  ></td>';  }else{template += '<tr><td><input type="checkbox" name="tradingRecordTypeId" id="tradingRecordTypeId" value="'+ tradingRecordTypeId +'"  ></td>';  }template += '<td><span style="display:block;width: 250px;text-align:left" title="" id="tradingRecordTypeName">'+ tradingRecordTypeName +'</span></td></tr>';  }}

二、自己写函数

[javascript] view plain copy
  1. function contains(arr, obj) {
  2. var i = arr.length;
  3. while (i--) {
  4. if (arr[i] === obj) {
  5. return true;
  6. }
  7. }
  8. return false;
  9. }

用法为:

[javascript] view plain copy
  1. var arr = new Array(1, 2, 3);
  2. contains(arr, 2);//返回true
  3. contains(arr, 4);//返回false

三、给Array增加一个函数

[javascript] view plain copy
  1. Array.prototype.contains = function (obj) {
  2. var i = this.length;
  3. while (i--) {
  4. if (this[i] === obj) {
  5. return true;
  6. }
  7. }
  8. return false;
  9. }

使用方法:

[javascript] view plain copy
  1. [1, 2, 3].contains(2); //返回true
  2. [1, 2, 3].contains('2'); //返回false

四、使用indexOf

但是有个问题是IndexOf在某些IE版本中是不兼容的,可以用下面的方法:

[javascript] view plain copy
  1. if (!Array.indexOf) {
  2. Array.prototype.indexOf = function (obj) {
  3. for (var i = 0; i < this.length; i++) {
  4. if (this[i] == obj) {
  5. return i;
  6. }
  7. }
  8. return -1;
  9. }
  10. }

先判断Array是否有indexOf方法,如果没有就扩展出此方法。

所以上面代码要写在使用indexOf方法的代码之前:

[javascript] view plain copy
  1. var arr = new Array('1', '2', '3');
  2. if (!Array.indexOf) {
  3. Array.prototype.indexOf = function (obj) {
  4. for (var i = 0; i < this.length; i++) {
  5. if (this[i] == obj) {
  6. return i;
  7. }
  8. }
  9. return -1;
  10. }
  11. }
  12. var index = arr.indexOf('1');//为index赋值为0

JS判断元素是否在数组内相关推荐

  1. js jquery 判断元素是否在数组内

    一,js方法 var arr = ["a", "b", "c"]; // js arr.indexOf("c") var ...

  2. JS判断元素是否含有子元素

    JS判断元素是否含有子元素 Element.childNodes.length 获取元素子节点数组的长度 var r=document.getElementsByTagName("div&q ...

  3. js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内...

    /** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...

  4. html判断是否有滚动条,JS 判断元素是否可以滚动

    今天在解决 ios 移动端滚动穿透的问题时遇到一个问题,就是判断元素能否滚动,把这个过程记录下来.以下以纵向滚动为例,横向滚动同理. 嫌麻烦的可以直接查看代码. 基础概念 Element.scroll ...

  5. js判断对象是否是数组的几种方式

    js判断对象是否是数组的几种方式 1.通过instanceof判断 instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值. let a ...

  6. go 判断元素是否在slice_Go内置数据结构原理

    作者:jackshi,腾讯 PCG 后台开发工程师 从C++切换到Go语言一年多了,有必要深入了解一下Go语言内置数据结构的实现原理,本文结合示例与Go源码深入到Go语言的底层实现. 数组 定义 数组 ...

  7. js判断数据类型(如数组)及数组操作函数

    在ES5的时候,js数据类型有6种:Number.String.Boolean.undefined.object.Null. 注:https://blog.csdn.net/u013592575/ar ...

  8. js判断元素是否存在 indexOf ()

    indexOf在js中有着重要的作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1. 例如: var arr = ...

  9. js判断是对象还是数组的方法

    效果图 方法 /*** 判断是否数组,例如[]* @author Rudon*/ function is_array (val) {// ES5方法return Array.isArray(val)? ...

最新文章

  1. java 手机音频播放,用Java实现音频播放
  2. Java微信公众平台开发(四)--回复消息的分类及实体的创建
  3. python中索引是从什么开始_python索引从0开始,那负数索引算什么?三秋道果说python...
  4. flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka
  5. 刺猬文│从启动方式来看播客链的运行机制—设置验证者
  6. 复现原文(一):Single-cell RNA sequencing of human kidney(step by step)
  7. tree(2018.10.26)
  8. 大数据之-Hadoop3.x_MapReduce_WordCount编写_Reducer---大数据之hadoop3.x工作笔记0090
  9. 【Postgresql-9.6.8】触发器实例(记录增、删、改)
  10. python画曲线图-Python数据可视化之Matplotlib(折线图)
  11. python进程问题
  12. java数据结构和算法------第八章
  13. 游戏开发之函数的增强(相比于C语言)(C++基础)
  14. 【ASP.NET】 GriedView 增删改查+ 自带分页
  15. 基于Qt的抽奖小程序
  16. Scratch编程与数学之求累加和!
  17. thinkpad E430拆装与升级
  18. 揭秘淘宝平台广告策略,拆解最佳投放实践
  19. win10系统点击开始菜单没反应
  20. react-native 关闭黄色警告

热门文章

  1. 来自mooon的最简单的日志类CSimpleLogger
  2. Android Fragments 详细使用详细介绍
  3. rhel 5 检测软件awstats,cacti,ntop搭建
  4. QuickTime 0day ***代码发布,可能允许执行任意代码
  5. 一图看懂BCH和BTC的区块费用差距到底有多大?
  6. Kraken采用CashAddr地址,BCH地址统一向前一步
  7. python 学习笔记(08)
  8. 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
  9. MyEclipse 10 中安装Android ADT 22插件的方法
  10. WebSocket 学习