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];
編輯:我發(fā)現了一種使用該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());
添加回答
舉報