Js判断数组中是否存在某个元素
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(arr.indexOf(要查找的元素)>-1){元素存在的操作};
indexOf()无法查找NaN
方法二:arr.find();
Arr.find()的参数是一个回调函数,数组所有元素会遍历这个回调函数,直到找到第一个返回值为true的元素,然后返回该元素否则返回undefined;
var arr=['aaa','bbb','ccc','ddd','eee'];
var a=arr.find(function(value,index,arr){
return value=='bbb';
})
console.log(a); //bbb,这里返回的不是true,而是返回值为true的这个元素;
我通常的用法:
arr.find(function(value){
If(value==要查找的值){
//所做的操作
}
})
方法三:array.findIndex();
findIndex()和find()的用法相似,find()返回的是元素,findIndex返回的是元素的位置。findIndex();返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件则返回-1;findIndex(),数组中的每一个元素都会调用一次函数,但是当条件返回true时,findIndex()返回符合条件的元素的位置,之后的值不会再调用执行函数。
var arr=['aaa','bbb','ccc','ddd','eee'];
var a=arr.find(function(value,index,arr){
return value=='bbb';
})
console.log(a);//1,后面的值不会再调用函数。
说明:findIndex()和find()可以用来查找NaN;
var arr=['1','2','3',NaN];
var a=arr.find(function(value){
return isNaN(value);
})
console.log(a); //NaN
方法四:for()或forEach()
循环遍历,然后用if判断
方法五:使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1;
var arr=['aaa','bbb','ccc','ddd','eee'];
var a= $.inArray('bbb',arr);
console.log(a); //1
Js判断数组中是否存在某个元素的更多相关文章
- js判断数组中是否包含某个元素
参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...
- JS判断数组中是否有重复元素的方法
判断数组中是否有重复元素,最容易想到的方法是使用2重循环,逐个遍历,比较,但是这个是最慢,最笨的方法,百度得出了更好的方法. var ary = new Array("111",& ...
- js 判断数组中是否包含某个元素(转载)
来源:https://www.cnblogs.com/yunshangwuyou/p/10539090.html 方法一:array.indexOf(item,start):元素在数组中的位置,如果没 ...
- js判断数组中是否有重复元素
方法一:正则 var ary = new Array("111","ff","222","aa","222&q ...
- js 判断数组中是否包含某个元素
vuex中结合使用v-if: 链接:https://www.cnblogs.com/hao-1234-1234/p/10980102.html
- js判断数组中是不是有某个元素
function in_array(search,array){ for(var i in array){ if(array[i]==search){ return true; } } return ...
- Jquery判断数组中是否包含某个元素$.inArray()的用法
判断数组里面是否包含某个元素可以使用 $.inArray("元素(字符串)",数组名称) 进行判断 ,当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1 示例代码 ...
- js 判断数组中是否存在
/* 判断数组中是否存在 var somearray = ["mon", "tue", "wed", "thur"] s ...
- js判断数组中是否包含某个值
/** * 判断数组中是否包含某个值 * @param arr 数组 * @param str 值 * @returns {boolean} */ function contains(arr, str ...
随机推荐
- ExtJS 去除水印
在路径(根目录/ext/classic(或者modern)/theme-base/sass/etc/all.scss)文件中修改\(ext-trial: true !default; 为\)ext-t ...
- node对象
global,node的全局对象;js在游览器中的全局对象为windows 在node环境中;输入global.consloe 输出: Console { log: [Function: bound ...
- dart系列之:dart中的异步编程
目录 简介 为什么要用异步编程 怎么使用 Future 异步异常处理 在同步函数中调用异步函数 总结 简介 熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方 ...
- java-通过IO流复制文件夹到指定目录
public class copyDirectoryDemo { public static void main(String[] args) { File srcFolder = new File( ...
- Android学习—下载Android SDK的两种方式
在Android Studio中下载Android SDK的两种方式 Android studio下载地址:http://www.android-studio.org/ 方式一.设置HTTP Prox ...
- 论文翻译:2020_Densely connected neural network with dilated convolutions for real-time speech enhancement in the time domain
提出了模型和损失函数 论文名称:扩展卷积密集连接神经网络用于时域实时语音增强 论文代码:https://github.com/ashutosh620/DDAEC 引用:Pandey A, Wang D ...
- Qt5加载SVG格式的图片并更颜色
QIcon MainWindow::qiconFromSvg(QString svg_path, QString color) { QPixmap img(svg_path); QPainter qp ...
- nodejs中的fs模块中的方法
nodejs中的fs模块 引入模块 const fs =require("fs") 检测文件是否存在fs.stat(path,callback) fs.stat("./n ...
- 统计学习3:线性支持向量机(Pytorch实现)
学习策略 软间隔最大化 上一章我们所定义的"线性可分支持向量机"要求训练数据是线性可分的.然而在实际中,训练数据往往包括异常值(outlier),故而常是线性不可分的.这就要求我们 ...
- Codeforces 356E - Xenia and String Problem(哈希)
Codeforces 题面传送门 & 洛谷题面传送门 首先显然一个 gray 串的长度只可能是 \(2^k-1\),其中 \(k\in\mathbb{Z}\). 考虑将一个字符改成另外一个字符 ...