如何过滤内部有多个键的对象

How to filter Object with multiple keys inside

我是初学者。想象一下 js 文件中的数据是这样的:

const myData = {
  1: {
    1: {
      displayText: "word1",
      text: "worddisplay1",
    },
    2: {
      displayText: "word1",
      text: "worddisplay1",
    },
    3: {
     displayText: "word3",
      text: "worddisplay3",
    }
  },
 2: {
    1: {
      displayText: "word4",
      text: "worddisplay4",
    },
    2: {
      displayText: "word5",
      text: "worddisplay5",
    },
    3: {
     displayText: "word6",
      text: "worddisplay6",
    }
  }
}

我想在 javascript.

中对这些数据进行搜索过滤

例如,如果我输入单词“display1”,它会给我所有包含单词“display1”的结果。

我这样试过:

 Object.keys(myData).forEach((k) => {
      console.log(k, myData[k]);
    });

但我不知道之后我必须做什么,我应该在 forEach 中使用 forEach 吗? 我知道我必须使用“includes”关键字。

如果有人能给我诀窍,我被困了几天

试试这个。


Object.values(myData)
  .flatMap(it => Object.values(it))
  .filter(it => it.displayText.includes('word1'));