JS判断元素是否在数组内

JavaScript判断两个数组是否有重复的元素 本文介绍了两种方法来判断两个数组是否存在重复元素:双重循环和集合(Set)。双重循环的方法通过遍历两个数组的所有元素进行比较,时间复杂度为O(n^2)。而使用集合(Set)的方法可以将时间复杂度降低到O(n),因为集合的查找操作是近似常数时间。根据具体的需求和数据规模,选择合适的方法来判断数组中是否存在重复元素。除了双重循环的方法,我们还可以使用JavaScript的集合(Set)来判断两个数组是否有重复元素。集合是一种无序且唯一的数据结构,我们可以利用这个特性来判断数组中是否有重复元素。 阅读详情

一、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  
Qi标准下的充电协议及其记忆技巧 记忆无线充电协议中的。 阅读详情

相关推荐

射频功率放大器设计实战:从理论到Layout的全流程解析

本文以一款40W、960MHz LDMOS功率放大器为例,系统解析了从理论分析、仿真设计到版图实现的射频功率放大器设计全流程。内容涵盖AB类放大器选型、核心指标定义、稳定性分析、Load-Pull/源牵引仿真、史密斯圆图匹配、偏置网络设计,以及最终的谐波平衡仿真与版图电磁验证,为工程师提供了一套从理论到实践的完整设计方法论。

weixin_29266007的博客 252

JS判断元素是否存在于数组中的多种方式

判断某个元素是否在数组中的方式有很多种,我们可以根据数组中元素的格式,来选择更合适的方式。如果都是一些基本类型,建议优先选择使用includes()方法;如果格式比较复杂的,建议选择使用some()方法。这两个方法都是直接返回 boolean 类型,无需更多的转换即可直接使用方法的结果。

程序猿零壹的博客 2万+

海康工业相机排雷笔记02-像素格式解析

工业相机使用过程记录 02-像素格式解析 通过将相机输出图像裸数据raw格式直接存图查看 一、黑白/Mono 直接使用相机测试图像存图: 图像中各部分灰度分别为:0、36、73、109、146、182、219、255,以灰度73列为例 (1)Mono 8 该列图像数据为十六进制49,十进制为73,那么Mono 8就是每个像素点占8bit,依次排列。 (2)Mono 10 该列图像数据为十六进制2401,由于相机均为小端数据,实际数据应解析为0124,十进制为292=73*4,那么Mono 10格式为每

yonghuming_66的博客 8361

8种在JavaScript数组中查找指定元素的方法(用于开发中数据的处理)

1、Array.prototype.includes() includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false。 该方法支持两个参数valueToFind,fromIndex(可选),第一个参数是‘需要查找的元素值’,第二个参数是‘从哪个索引处开始查找’,第二个参数如果为负数,则会按升序从 array.length + fromIndex 的索引开始查找(即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。 var a = [1

weixin_42662753的博客 3万+

保姆级教程:用GEE(Google Earth Engine)复现CASA模型计算NPP,附完整数据集清单与Python代码

本文提供了一份详细的保姆级教程,指导如何使用GEE(Google Earth Engine)复现CASA模型计算NPP(净初级生产力)。教程涵盖环境准备、关键数据集获取与处理、Python代码实现全流程,以及结果验证与常见问题解决方案,帮助生态学研究者高效完成NPP计算。

weixin_28707365的博客 334

卡尔曼滤波、互补滤波与Tsinghua滤波:平衡车姿态感知的三大算法对比

本文对比了平衡车姿态感知中的卡尔曼滤波、互补滤波与Tsinghua滤波三大核心算法。互补滤波计算简单,适合入门;卡尔曼滤波理论最优但实现复杂;Tsinghua滤波则是一种面向嵌入式优化的轻量级方案,通过动态权重调整和零偏估计,在资源受限的MCU上实现了性能与效率的平衡,是智能车竞赛等场景的实用选择。

weixin_29232121的博客 349

js判断一个元素是否在数组中存在

js判断一个元素是否在数组中存在

weixin_46360938的博客 9589

用scons编译STM32F103工程

想用vscode来实现代码的编辑与调试代码,原先这个工程是用STM32CUBEIDE建立的,参照STM32CUBEIDE的编译过程,编写了下面的scons脚本,scons是初次了解,既然是python脚本,那么会什么就怎么写吧。 import os import sys import glob cross_compiler_prefix = 'arm-none-eabi-' CC = cross_compiler_prefix+'gcc' CXX = cross_compiler_prefix+'g+

cylinc的专栏 1623

js查找某个对象是否在对象数组中 -- 个人笔记

本案例通过遍历,查找对象是否在数组中,可以定义1个或2个key作为区分元素。如需更多key值,可再此案例基础上进行扩展。 定义: isExistObjInArr(arr, idName, obj) { let flag = false arr.forEach((item) => { if (idName.length === 1) { if (item[idName[0]] === obj[idName[0]]) { .

树上骑个猴的博客 683

头歌工程实训答案-机器学习篇之手写体识别篇

第2关:激活函数'''x:负无穷到正无穷的实数'''if x<=0:return 0else:return x#***第3关:反向传播算法import os。

m0_71537260的博客 2520

文件上传漏洞攻击与防范方法

文件上传漏洞攻击与防范方法 文件上传漏洞简介: 文件上传漏洞是web安全中经常用到的一种漏洞形式。是对数据与代码分离原则的一种攻击。上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。 文件上传漏洞危害: 上传漏洞与SQL注入或 XSS相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞 , 攻击者上传...

m0_38103658的博客 4万+

JS 添加数组元素( 4种方法 )

ush() 和 unshift() 方法会直接修改原数组。 splice() 方法同样会直接修改原数组,但它还可以用来同时删除和插入元素。 concat()方法不会改变原数组,而是返回一个新的数组。

大剑师兰特的GIS世界 2万+

NSIS教程(8): 基于第三方界面库的安装包界面

前面的几篇文章介绍了NSIS的传统界面的安装包和现代界面的安装包的制作方法,也提到了NSIS支持自定义页面(即使用page custom)的特性,自定义页面需要用户自己创建对话框、控件、添加控件响应等等,虽然NSIS提供了nsDialogs.nsh来支持这些功能,但使用起来还是不太方便(需要专门了解这个插件诸多用法),而且不够灵活,所以本文介绍一种终极的自定义界面的安装包解决方案,即完全使用第三方

while(1) { smile(); } 9万+

js 判断数组中是否包含某个元素

判断数组中是否包含某个元素的八种方法 方法一:array.indexOf (item,start):元素在数组中的位置,如果没与搜索到则返回 -1。 参数 描述 item 必须。查找的元素。 start 可选的整数参数。规定在数组中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 实际用法:if (arr.indexOf (某元素) > -1){// 则包含该元素} var f

Goaread的博客 4153

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

vue 数组是否包含_js中判断数组中是否包含某元素的方法

方法一:arr.indexOf(某元素):未找到则返回 -1。实际用法:if(arr.indexOf(某元素) > -1){//则包含该元素}例:var fruits = ["Banana", "Orange", "Apple", "Mango"];var a = fruits.indexOf("Apple"); // 2//以上输出结果意味着 "Apple" 元素位于数组中下标为 2 的...

weixin_39929721的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

js怎样判断数组中是否有某个元素,某个元素是否在数组中

js怎样判断数组中是否有某个元素,某个元素是否在数组中呢? js判断数组是否存在某个元素是很常见的操作,可以用比较好用的两种方法,也许还有其他更好的方法。。。 可以用indexOf,如果某个元素在数组中,那么就会返回该元素在数组中的位置,没有就返回-1 也可以用es6的new Set来生成一个Set数据结构的数据,从而调用has方法来判断,有则返回true,没有则false 看图 ...

2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Js判断数组中是否存在某个元素

方法一:indexOf(item,start); Item:要查找的值;start:可选的整数参数,缺省则从起始位子开始查找。 indexOf();返回元素在数组中的位置,如果没有则返回-1; 例子:var arr=['aaa','bbb','ccc','ddd','eee'];   var a=arr.indexOf('ddd');   console.log(a);   //3   var b=arr.indexOf('d');   console.log(b);  //-1   我通常的用法:if(

永远热泪盈眶 坚持输出 7633

JS判断元素是否为数组的方式

此处提供可供验证的数据类型 let a = [1,2,3,4,5,6]; let b = [ {name: '张飞', type: 'tank'}, {name: '关羽', type: 'soldier'}, {name: '刘备', type: 'shooter'}, ]; let c = 123; let d = 'www'; let e = {name: '安琪拉', type: 'mage'}; 1.通过Array.isArray() Array.is

weixin_43844440的博客 1万+

php数组只包含一个元素,JavaScript_判断数组是否包含某个元素的js函数实现方法,判断数组是否包含某个元素的j - phpStudy...

判断数组是否包含某个元素的js函数实现方法判断数组是否包含某个元素的js函数实现方法Array.prototype.contains = function(obj) {var i = this.length;while (i--) {if (this[i] === obj) {return true;}}return false;}或Array.prototype.contains = funct...

weixin_39598472的博客 114

js中 判断数组 是否包含某元素

四个API ,判断包含某元素: 1.Array.indexOf() --推荐,Array.indexOf("x")== -1,则不包含,不返回-1 则包含 2.Array.find() 3.Array.findIndex() 4.for 或 foreach 循环,然后 if 判断 1.Array.indexOf() var beasts = ['ant', 'bison', ...

胡萧徒的博客 7796

js中判断数组中是否存在某个元素的方法

方法一 该方法返回布尔值,如果数组中存在给定的元素,则返回true。否则返回false let arr = [1, 1, 3, 5, 7]; const contains = (() =&gt; Array.prototype.includes ? (arr, value) =&gt; arr.includes(value) : (arr, value) =&gt; arr.s...

soloPhone的博客 1万+

js判断数组中是否包含某个元素

参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromIndex ] ) value 任意类型 用于查找的值。 array Array类型 指定被查找的数组。 fromIndex 可选。 Num...

deu31579的博客 800

JavaScript 判断元素是否在数组中

function isInArray(arr, val) { let testStr = ',' + arr.join(",") + ","; return testStr.indexOf("," + val + ",") === -1 }

BUG制造者:图图 <p>这是一个P标签</p> 3248

JavaScript - 判断数组中是否包含某个的元素的几种方式

应该算是前端开发过程中比较常用的基本操作,话不多说,看代码。

慢慢 2917

js判断一个元素是否在数组中

1.比较传统的做法: 概述:indexOf()方法返回给定元素能找在数组中找到的第一个索引值,否则返回-1。 var a=["1", "3", "2", "3", "0"]; console.log(a.indexOf ('3'));//1 console.log(a.indexOf (5,'0'));//-1 console.log(a....

weixin_30483013的博客 358

javascript判断数组和对象中是否存在某元素

javascript判断数组和对象中是否存在某元素 判断数组:[]是否存在某个元素,可以用数组的indexOf函数,方法arr.indexOf(find,start); find:要找的内容,必须; start:查找开始下标,可选; 返回:查找数据所在的下标,...

dianchuai4673的博客 517
上一篇: Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
下一篇: 正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值