如何在JavaScript中组合具有相同键的对象数组

3
var saperatedIngredients =  [{
    ingredients: (2) ['Aar maach', 'Fish fillet']
    searchfilter: "marine fish"
    },
    {ingredients: ['Active dry yeast']
    searchfilter: "yeast"
    },
    {ingredients: (5) ['Ajwain', 'Cumin powder', 'Tamarind', 'Tamarind paste', 'Tamarind water']
    searchfilter: "miscellaneous derived edible product of plant origin"
    }
   ]

但是我想要这样的输出

const IngredientsArray = ['Aar maach', 'Fish fillet', 'Active dry yeast','Ajwain', 'Cumin powder', 'Tamarind', 'Tamarind paste', 'Tamarind water']

有人可以帮我解决这个问题吗?


这个回答解决了你的问题吗?如何按键将对象数组分组? - derpirscher
2个回答

3

你可以简单地使用flatMap()

var saperatedIngredients =  [{
    ingredients:  ['Aar maach', 'Fish fillet'],
    searchfilter: "marine fish"
    },
    {ingredients: ['Active dry yeast'],
    searchfilter: "yeast"
    },
    {ingredients:  ['Ajwain', 'Cumin powder', 'Tamarind', 'Tamarind paste', 'Tamarind water'],
    searchfilter: "miscellaneous derived edible product of plant origin"
    }
   ]
 
const res = saperatedIngredients.flatMap(x => x.ingredients);

console.log(res)


哇,太棒了!我本以为这个问题有些复杂,但你用简洁明了的代码完美地解决了它。非常感谢你,我对你的回答非常满意。 - jsBug
如果您对答案感到满意,请考虑接受该答案,@SRINIVASACHARYSUTHOJU。 - Maheer Ali

1

您也可以使用reduce

const ingredients = saperatedIngredients.reduce( (acc, item) => {
 acc.push(...item.ingredients)
 return acc
}, [])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接