阅读 245

javascript 查找数组是否存在指定数据(方法汇总)

在工作中,查找数组是否存在指定数据 这活总是少不了的。本篇文章对 查找数组是否存在指定数据 的常用方法做个汇总。

目录

#1 for 语句

#2 Array.prototype.some()

#3 Array.prototype.findIndex()

初始模拟数据

var userList=[
    {"name":"张三","age":24},
    {"name":"李四","age":26},
    {"name":"王五","age":22}
];复制代码

设需求:查找数据中是否存在 name="李四" 的数据

#1 for 语句

  • 方法说明:创建一个循环。它包含了三个可选的表达式,第一个表达式变用于量声明,第二个条件表达式用于确定每一次循环是否能被执行,第三个为每次循环的最后都要执行的表达式。(更多的不作介绍,相信阅读本篇文章的大家都会使用)

    var index=-1; for(var i=0;i<userList.length;i++){ if(userList[i].name == '李四'){ index=i; break; } } if(index>=0){ console.log("数组中存在 name='李四' 的数据"); }

#2 Array.prototype.some()

  • 方法说明:测试是否至少有一个元素可以通过被提供的函数方法,该方法返回一个Boolean类型的值。

  • 注意事项:不兼容IE9以下版本的浏览器,而且返回的值是Boolean类型,并不能返回符合条件的数据在数据中的位置。

    var falg=userList.some(function (item,index) { return item.name == '李四'; }); if(falg){ console.log("数组中存在 name='李四' 的数据"); }

#3 Array.prototype.findIndex()

  • 方法说明:返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1

  • 注意事项:该方法是 ES6 版本中引进的方法,只允许在支持 ES6语法的环境,或者有 ES6 转 ES5 的环境中使用。

    let index=userList.findIndex((item,index)=> { return item.name == '李四'; }); if(index>=0){ console.log("数组中存在 name='李四' 的数据"); }

本篇文章只介绍 javascript 原生的方法。jQuery的使用者颇多且jQuery中已经有封装好的 $.each() 方法。


作者:黄河爱浪
链接:https://juejin.cn/post/7026897071156232229


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐