如何过滤内部有多个键的对象
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'));
我是初学者。想象一下 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'));