• 技术文章 >web前端 >前端问答

    es6怎么查找某项是否存在

    青灯夜游青灯夜游2023-01-04 09:13:34原创77

    方法:1、用find();2、用includes(),语法“数组.includes(值)”;3、用some(),语法“function f(v) {if (v===值) {return true;}}var b= 数组.some(f);”;4、用indexOf(),语法“数组.indexOf(值)”;5、用lastIndexOf(),语法“数组.lastIndexOf(值)”。

    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

    方法1:利用数组的find() 方法

    find()方法用于查找数组中符合条件的第一个元素,如果没有符合条件的元素,则返回undefined

    find() 对于空数组,函数是不会执行的。

    find() 并没有改变数组的原始值。

    array.find(function(currentValue, index, arr),thisValue)
    参数描述
    function(currentValue, index,arr)必需。数组每个元素需要执行的函数。
    函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值arr可选。当前元素所属的数组对象
    thisValue可选。 传递给函数的值一般用 "this" 值。
    如果这个参数为空, "undefined" 会传递给 "this" 值

    返回值:

    示例:判断fruits数组中是否包含给定元素“榴莲”

    function f(value) {
            return value === '橘子';
    }
    	
    var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
    
    if(fruits.find(f)!=undefined){
    	console.log("给定元素是存在的");
    }else{
    	console.log("给定元素是不存在的");
    }

    1.png

    方法2:利用数组的includes() 方法

    includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

    arr.includes(searchElement [, fromIndex])

    示例:判断fruits数组中是否包含给定元素“榴莲”

    var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
    if(fruits.includes('榴莲')){
    	console.log("给定元素是存在的");
    }else{
    	console.log("给定元素是不存在的");
    }

    2.png

    方法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("给定元素是不存在的");
    }

    输出结果为:

    3.png

    方法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("给定元素是不存在的");
    }

    输出结果为:

    4.png

    【相关推荐:javascript视频教程编程视频

    以上就是es6怎么查找某项是否存在的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:es6数组
    上一篇:es6怎么删除数组中的相同元素 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • es6中promise什么时候用• es6 if包裹的变量算块内吗• es6箭头方法中this的指向是什么• 小程序为什么要将es6转es5• 前端开发es6有什么特点• es6怎么将类数组对象转数组
    1/1

    PHP中文网