我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文适用于nodejs和浏览器环境,在JavaScript的世界里面,这两个环境是有相通的地方的。本文展示了在数组中进行数据查找的一种方式。对于最近的文章来说,是可以在路由配置信息里面,进行路由数据查找的。

苏南大叔:JavaScript,数组查找的三种方式对比,some()/find()/filter() - some-find-filter
JavaScript,数组查找的三种方式对比,some()/find()/filter()(图2-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码经验文章。测试环境:win10nodejs@20.18.0

基础数据

出场的依然是苏南大叔的宠物列表。

let pets = [
  { name: "虎子", weight: 8, category: "狗" },
  { name: "二赖子", weight: 20, category: "狗" },
  { name: "老白", weight: 6, category: "猫" },
  { name: "黑猫", weight: 9, category: "猫" },
];

苏南大叔:JavaScript,数组查找的三种方式对比,some()/find()/filter() - pets查找
JavaScript,数组查找的三种方式对比,some()/find()/filter()(图2-2)

.some()

测试是否存在符合条件的数据,返回布尔。

let f1 = pets.some((pet) => pet.category == "狗");
console.log(f1);

输出:

true

.find()

找出第一个符合条件的数据,返回的不是数组。

let f2 = pets.find((pet) => pet.category == "猫" && pet.weight >= 6);
console.log(f2);

输出:

{ name: '老白', weight: 6, category: '猫' }

.filter()

找出符合条件的所有数据,返回的是个数组。

let f3 = pets.filter((pet) => pet.category == "猫" && pet.weight >= 6);
console.log(f3);

输出:

[
  { name: '老白', weight: 6, category: '猫' },
  { name: '黑猫', weight: 9, category: '猫' }
]

相关文章

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   js