【发布时间】:2021-12-12 21:37:13
【问题描述】:
我想要实现的是:
- 查找数组中的文本对象是否为空。
- 如果来自 no1 的条件匹配,则返回位于该对象顶层的 id 值。
https://codesandbox.io/s/cranky-swirles-gb6ct?file=/src/App.js:410-412 在代码沙箱的示例中,我添加了两个带有空文本字符串的对象,在这种情况下,我希望得到一个字符串数组 (result = ['662e4120', '782h7a9x'])
我能够找到空值,但是我不确定如何从上层范围返回对象。
如果你无法访问codeSandbox,sn-p就附在下面:
const array = [
{
id: "5548d3c2",
state: {
properties: [
{
text: "text",
key: "fs5a"
}
]
}
},
{
id: "662e4120",
state: {
properties: [
{
text: "",
key: "m03n"
}
]
}
},
{
id: "782h7a9x",
state: {
properties: [
{
text: "",
key: "y5x1"
}
]
}
}];
const findItem = () => {
return array
.map((item) => item.state)
.map((item) => item.properties)
.flat()
.filter((item) => item.text === "");
};
【问题讨论】:
-
" 但是我不确定如何从上层范围返回对象" 你是什么意思?你得到了什么结果,你想要达到什么目标?
-
请在此处将代码直接嵌入到 sn-p 中
-
嘿Corrl,感谢您回来。目前我只能从“属性”中找到并返回包含空文本字符串的对象。我想得到的是来自上层范围的 ID,在这种情况下将是 '782h7a9x' 和 '662e4120'
-
我的回答有帮助吗?
-
嘿Corrl,感谢您回来。当然可以,就像一个魅力。感谢您与我分享知识!
标签: javascript arrays object multidimensional-array filtering