Спасибо за все предложения. Я думаю, что нашел решение своей проблемы.
Я использовал array.map
, чтобы создать новый массив, состоящий только из имен объектов . Затем я использовал JSON.stringify
для selectedOption
и для элементов в новом массиве, чтобы найти совпадение и / или индекс.
Возможно, есть лучший способ сделать это, но это работает нормально. Не стесняйтесь указывать на любой потенциальный fl aws в моем подходе.
const selectedOption = {fruit_red: "cherries", fruit_green: "kiwi"}
const inventory = [
{ name: { vegetable: 'carrot' }, quantity: 2 },
{ name: { meat: 'pork' }, quantity: 0 },
{ name: { fruit_red: 'cherries', fruit_green: 'kiwi' }, quantity: 5 },
{ name: { fruit_red: 'cherries', fruit_green: 'apple' }, quantity: 3 },
];
const names = inventory.map(item => item.name)
const resultIndex = names.findIndex(name => JSON.stringify(name) === JSON.stringify(selectedOption));
console.log(resultIndex)
const result = names.find(name => JSON.stringify(name) === JSON.stringify(selectedOption));
console.log(result)
console.log(inventory[resultIndex])