本文小编为大家详细介绍“es6如何查找某项是否存在”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6如何查找某项是否存在”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
方法:1、用find();2、用includes(),语法“数组.includes(值)”;3、用some(),语法“function f(v) {if (v===值) {return true;}}var b= 数组.some(f);”;4、用indexOf(),语法“数组.indexOf(值)”;5、用lastIndexOf(),语法“数组.lastIndexOf(值)”。
方法1:利用数组的find() 方法
find()方法用于查找数组中符合条件的第一个元素,如果没有符合条件的元素,则返回undefined
find() 对于空数组,函数是不会执行的。
find() 并没有改变数组的原始值。
array.find(function(currentValue, index, arr),thisValue)
参数 | 描述 |
---|---|
function(currentValue, index,arr) | 必需。数组每个元素需要执行的函数。 函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值arr可选。当前元素所属的数组对象 |
thisValue | 可选。 传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
返回值:
返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
示例:判断fruits数组中是否包含给定元素“榴莲”
function f(value) {
return value === '橘子';
}
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
if(fruits.find(f)!=undefined){
console.log("给定元素是存在的");
}else{
console.log("给定元素是不存在的");
}
方法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(currentValue, index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 函数参数: 参数描述currentValue必须。当前元素的值index可选。当前元素的索引值arr可选。当前元素属于的数组对象 |
thisValue | 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined" |
返回值:布尔值。如果数组中有元素满足条件返回 true,否则返回 false。
示例:
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。
array.indexOf(item,start)
参数 | 描述 |
---|---|
item | 必须。查找的元素。 |
start | 可选的整数参数。规定在数组中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 |
实现思想:利用该方法检查指定值在数组的第一次出现位置,如果位置是存在的,则包含该给定元素。如果返回-1,则不包含该给定元素。
下面给出实现代码:
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.indexOf("桃子");
if (b>0) {
console.log("给定元素是存在的");
} else {
console.log("给定元素是不存在的");
}
方法5:利用数组的lastIndexOf()方法
lastIndexOf()方法可搜索数组中的元素,并返回它最后出现的位置。如果要检索的元素没有出现,则该方法返回 -1。
array.lastIndexOf(item,start)
参数 | 描述 |
---|---|
item | 必需。规定需检索的字符串值。 |
start | 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。 |
实现思想:利用该方法检查指定值在数组的最后出现位置,如果位置是存在的,则包含该给定元素;如果返回-1,则不包含该给定元素。
下面给出实现代码::
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.lastIndexOf("葡萄");
if (b>0) {
console.log("给定元素是存在的");
} else {
console.log("给定元素是不存在的");
}
输出结果为:
读到这里,这篇“es6如何查找某项是否存在”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。