有没有一种方法可以从包含特定值的对象中查找()随机元素

迪恩·阿文

我有一个包含健身房的物件,上面有可用的设备:

        const gyms = [
  {
    "name": "gym1",
    "equipmentAvailable": ["nothing"]
  },
  {
    "name": "gym2",
    "equipmentAvailable": ["jump rope","stationary bike","barbell"]
  },
  {
    "name": "gym3",
    "equipmentAvailable": ["kettlebell","dumbbell"]
  },
  {
    "name": "gym4",
    "equipmentAvailable": ["barbell","kettlebell","jump rope"]
  }
]

我还列出了下一次锻炼所需的设备清单(然后将其转换为Set):

const availableNeeded = ["barbell","jump rope"]

const equipmentSet = new Set(availableNeeded);

目前,我正在使用.find()拉出第一个符合我的设备需求的健身房:

const filteredWorkouts = gyms.find(workout => (
  workout.equipmentAvailable.some(equipment => equipmentSet.has(equipment))
))

console.log(filteredWorkouts)

自然,这总是返回Gym2,因为它是第一个与所需设备匹配的健身房。但是,有时我想将其切换并转到Gym4,因为它具有所需的设备,但是find()无法提供。

我将如何随机分配Gym输出,以便可以输出Gym2Gym4?

一定的表现

使用.filter而不是.find获取可能匹配的数组,然后从数组中获取随机元素:

const gyms = [
  {
    "name": "gym1",
    "equipmentAvailable": ["nothing"]
  },
  {
    "name": "gym2",
    "equipmentAvailable": ["jump rope","stationary bike","barbell"]
  },
  {
    "name": "gym3",
    "equipmentAvailable": ["kettlebell","dumbbell"]
  },
  {
    "name": "gym4",
    "equipmentAvailable": ["barbell","kettlebell","jump rope"]
  }
];
const availableNeeded = ["barbell","jump rope"];
const filteredWorkouts = gyms.filter(gym => (
  availableNeeded.every(equip => gym.equipmentAvailable.includes(equip))
));
const result = filteredWorkouts[Math.floor(Math.random() * filteredWorkouts.length)];
console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以遍历JavaScript中可能包含的对象?

来自分类Dev

有没有一种方法可以在Python字典中随机调整键和值,但是结果不能包含任何原始键值对?

来自分类Dev

有没有一种方法可以通过键从哈希映射表中随机选择值?

来自分类Dev

有没有一种方法可以将随机值添加到此类中?

来自分类Dev

有没有一种方法可以查找变量何时更改了值?

来自分类Dev

有没有一种方法可以通过Python Selenium中的属性查找元素?

来自分类Dev

在Python中,有没有一种方法可以找到具有特定属性的对象?

来自分类Dev

有没有一种方法可以访问对象中的对象?

来自分类Dev

lua中有没有一种方法可以在表中查找值而不循环?

来自分类Dev

有没有一种方法可以同时设置对象的值和属性?

来自分类Dev

有没有一种方法可以简化基于字符串中包含的值的设置?

来自分类Dev

有没有一种方法可以编写通用代码来确定切片中是否包含Go中的特定元素?

来自分类Dev

有没有一种方法可以根据其长度删除代码中的特定元素?

来自分类Dev

有没有一种方法可以将对象中的值映射到javascript中数组的索引?

来自分类Dev

有没有一种方法可以根据json对象中的特定项目查询数据?

来自分类Dev

有没有一种方法可以隐藏IFRAME src页面中的元素?

来自分类Dev

有没有一种方法可以只更新EnvironmentObject中的某些元素

来自分类Dev

有没有一种方法可以对jsonb对象中的值列表应用条件?

来自分类Dev

有没有一种方法可以在PHP中创建匿名对象

来自分类Dev

有没有一种方法可以在特定页面中自动打开pdf?

来自分类Dev

有没有一种方法可以从msbuild中获取属性的值?

来自分类Dev

有没有一种方法可以重用公式中的计算值?

来自分类Dev

有没有一种方法可以从值中访问键?

来自分类Dev

有没有一种方法可以表示查询中的位置值?

来自分类Dev

Python:有没有一种方法可以在硒chromedriver中随机选择一个带有h3标签的元素?

来自分类Dev

有没有一种方法可以搜索所有Mercurial提交以查找特定字符串?

来自分类Dev

有没有一种方法可以通过键从哈希映射中随机选择值?

来自分类Dev

Selenium:有没有一种方法可以编写xpath来获取包含以数字结尾的文本的元素

来自分类Dev

有没有一种方法可以在随机位置上反转颜色?

Related 相关文章

  1. 1

    有没有一种方法可以遍历JavaScript中可能包含的对象?

  2. 2

    有没有一种方法可以在Python字典中随机调整键和值,但是结果不能包含任何原始键值对?

  3. 3

    有没有一种方法可以通过键从哈希映射表中随机选择值?

  4. 4

    有没有一种方法可以将随机值添加到此类中?

  5. 5

    有没有一种方法可以查找变量何时更改了值?

  6. 6

    有没有一种方法可以通过Python Selenium中的属性查找元素?

  7. 7

    在Python中,有没有一种方法可以找到具有特定属性的对象?

  8. 8

    有没有一种方法可以访问对象中的对象?

  9. 9

    lua中有没有一种方法可以在表中查找值而不循环?

  10. 10

    有没有一种方法可以同时设置对象的值和属性?

  11. 11

    有没有一种方法可以简化基于字符串中包含的值的设置?

  12. 12

    有没有一种方法可以编写通用代码来确定切片中是否包含Go中的特定元素?

  13. 13

    有没有一种方法可以根据其长度删除代码中的特定元素?

  14. 14

    有没有一种方法可以将对象中的值映射到javascript中数组的索引?

  15. 15

    有没有一种方法可以根据json对象中的特定项目查询数据?

  16. 16

    有没有一种方法可以隐藏IFRAME src页面中的元素?

  17. 17

    有没有一种方法可以只更新EnvironmentObject中的某些元素

  18. 18

    有没有一种方法可以对jsonb对象中的值列表应用条件?

  19. 19

    有没有一种方法可以在PHP中创建匿名对象

  20. 20

    有没有一种方法可以在特定页面中自动打开pdf?

  21. 21

    有没有一种方法可以从msbuild中获取属性的值?

  22. 22

    有没有一种方法可以重用公式中的计算值?

  23. 23

    有没有一种方法可以从值中访问键?

  24. 24

    有没有一种方法可以表示查询中的位置值?

  25. 25

    Python:有没有一种方法可以在硒chromedriver中随机选择一个带有h3标签的元素?

  26. 26

    有没有一种方法可以搜索所有Mercurial提交以查找特定字符串?

  27. 27

    有没有一种方法可以通过键从哈希映射中随机选择值?

  28. 28

    Selenium:有没有一种方法可以编写xpath来获取包含以数字结尾的文本的元素

  29. 29

    有没有一种方法可以在随机位置上反转颜色?

热门标签

归档