这篇文章主要给大家分享JS怎样判断数组元素是否存在?也就是通过给定一个值,遍历数组,然后判断数据中是否存在该给定的值,下文给大家四种方法,感兴趣的朋友就接着往下看吧。
方法1:利用for循环
实现思想:利用for语句来遍历数组,在每次循环中利用===
判断数组元素是否为给定值,当有第一个元素满足条件,则数组中存在给定元素,给出提示,然后使用break语句退出整个循环。
下面通过实例来具体了解一下:判断fruits数组中是否包含给定元素“榴莲”
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"]; for(var i=0;i<fruits.length;i ){ if (fruits[i] === "榴莲") { console.log("指定元素‘ " fruits[i] " ’是存在的"); break; } }
输出结果为:
方法2:利用数组的includes() 方法
includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
语法:arr.includes(searchElement [, fromIndex])
searchElement 必须。需要查找的元素值。
fromIndex 可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length fromIndex 的索引开始搜索。默认为 0。
下面通过实例来具体了解一下:判断fruits数组中是否包含给定元素“榴莲”
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"]; if(fruits.includes('榴莲')){ console.log("给定元素是存在的"); }else{ console.log("给定元素是不存在的"); }
输出结果为:
方法3:利用数组的some()方法
some()方法可以检测数组中是否存在符合条件的元素。换个角度思考,也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。
语法:array.every(function callbackfn(Value,index,array),thisValue)
下面通过实例来具体了解一下:
function f(value, index, ar) { if (value === '橘子') { return true; } } var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"]; var b = fruits.some(f); if (b) { console.log("给定元素是存在的"); } else { console.log("给定元素是不存在的"); }
输出结果为:
给定元素是存在的
方法4:利用数组的indexOf()方法
indexOf() 方法可返回数组中某个指定元素的第一次出现位置。如果要检索的元素没有出现,则该方法返回 -1。
实现思想:利用该方法检查指定值在数组的第一次出现位置,如果位置是存在的,则包含该给定元素。如果返回-1,则不包含该给定元素。
下面给出实现代码:
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"]; var b = fruits.indexOf("橘子"); if (b>0) { console.log("给定元素是存在的"); } else { console.log("给定元素是不存在的"); }
输出结果为:
给定元素是存在的
方法5:利用数组的lastIndexOf()方法
lastIndexOf()方法可搜索数组中的元素,并返回它最后出现的位置。如果要检索的元素没有出现,则该方法返回 -1。
实现思想:利用该方法检查指定值在数组的最后出现位置,如果位置是存在的,则包含该给定元素;如果返回-1,则不包含该给定元素。
下面给出实现代码::
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"]; var b = fruits.lastIndexOf("葡萄"); if (b>0) { console.log("给定元素是存在的"); } else { console.log("给定元素是不存在的"); }
输出结果为:
给定元素是不存在的
关于js判断数组元素是否存在就介绍到这了,有需要的朋友可以参考上述方法,希望大家阅读完这篇文章能有所收获,想要了解更多请关注群英网络其它相关文章。
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595