1 回答

TA贡献1797条经验 获得超6个赞
您可以将两个对象放在一个数组中,然后使用该Array.prototype.find()函数。
// array of both objects
var data = [waifuobj, husbandoobj];
// try this:
const { names, claims, img_url } = Object.values(
Object.values(
data.find((obj) =>
Object.values(Object.values(obj)[0]).find(
(value) => value.names.toLowerCase() === search.toLowerCase()
)
)
)[0]
)[0];
编辑:我发现了一种使用该Array.prototype.reduce()功能的更紧凑的方式。
const data = [waifuobj, husbandoobj];
const { names, claims, img_url } = data
.reduce((a, v) => a.concat(Object.values(Object.values(v)).flat()), [])
.find(({ names }) => names.toLowerCase() === search.toLowerCase());
添加回答
举报