当前位置: 首页 > 知识库问答 >
问题:

从对象数组中查找键包括一个关键字-JS

景远航
2023-03-14

所以我有一个对象数组,看起来如下所示:

 [
  {
    Other: 23,
  },
  {
    Choco: 21,
  },
  {
    Vanila: 10,
  },
  {
    "Other - WA": 2,
  },
  {
    Strawbery: 30,
  },
];

需要做的是,我必须通过显示:

  1. 所有具有键“Other”的。
  2. 其余部分按值从大到小依次开始。

我想我可以创建两个单独的数组,移动所有有键‘其他’在那里,其余的在一个单独的数组。然后我简单地按值排序,然后使用spread运算符连接两个数组。问题是,我不能让它检测键中的“其他”,当它检测时,它就不像SQL中的“like”那样做了,下面是当前的代码:

let other = pgData.contents[6]?.locCounts?.filter((loc) =>
  Object.keys(loc).includes("Other")
);

它只返回带有“other”的key,而不是“other-wa”,就像我想要得到所有有“other”这个词的东西,而不管前面是什么。

共有1个答案

符懿轩
2023-03-14

include()执行精确匹配,而不是子字符串匹配。将find()与执行子字符串匹配的回调函数一起使用。您可以在键上使用includes来检查那里是否有子字符串。

Object.keys(loc).find(key => key.includes("Other"))
 类似资料:
  • JavaScript 是否有一个优雅的机制来确定“key1”是否存在? 换句话说,这是一种比遍历所有数组元素并检查每一个更好的机制。

  • 如果一个键也包含在字符串数组中,如何通过一个键的值从对象数组中筛选出对象? 不筛选出所有具有包含在此arr中的名称的对象: 结果:

  • 问题内容: 您可以使用Python字典等JavaScript对象。真的吗?对象中键查找的性能如何?是O(1)吗?向对象添加键也是恒定时间(散列)吗? 问题答案: 该V8设计文档暗示查询将至少这快,如果不是更快: 大多数JavaScript引擎使用类似字典的数据结构作为对象属性的存储 -每个属性访问都需要动态查找以解析属性在内存中的位置。这种方法通常使访问JavaScript中的属性比访问诸如Jav

  • 我有两个数组:和。 数组中的示例值:。 数组中的值示例:。 我需要创建一个JavaScript对象,将数组中的所有项放在同一个对象中。例如

  • 问题内容: 谁能解释下面为什么在javascript中分配键的原因/方式? 返回: 问题答案: 这是新的ES2015(正式名称为ES6的EcmaScript规范)计算的属性名称语法。这是您从ES3/ 5知道的任务的简写: 是用于以下方面的语法糖:

  • 假设我有这样的对象数组: 如何从每个对象中删除时间和单词属性?我的输出应该是这样的: