[英]Array filtering based on properties in object
好吧,我被困在这里,我将不胜感激一些可以实现此目标的方法。
我有一个问题数组:
questions: [
{
question: 'lala',
answer: 'papa',
categories: ['Handla']
},
{
question: 'xxxx',
answer: 'yyyy',
categories: ['Reklamation']
}
]
基于类别,我希望能够在过滤时相应列出问题。
因此,可以说我想过滤“ Handla”,我应该能够找出类别数组中匹配值“ Handla”的所有问题。
通过问题数组进行映射并使用if / else语句返回它们将起作用,但是我不确定这是最佳方法。
摘要:我想遍历所有问题并挑选出与所需类别查询匹配的对象。
请求“重新声明”时,我期望的输出应为
const desiredArray = [{
{
question: 'xxxx',
answer: 'yyyy',
categories: ['Reklamation']
}
}]
使用阵列#过滤和检查类别( Reklamation
在一例)中发现categories
阵列使用阵列#包括 :
const questions = [{"question":"lala","answer":"papa","categories":["Handla"]},{"question":"xxxx","answer":"yyyy","categories":["Reklamation"]}]; const result = questions.filter(({ categories }) => categories.includes('Reklamation')); console.log(result);
尝试这个
var result = questions.filter((item) => item.categories.find((cat) => cat === 'Reklamation'))
您可以将array#filter
与array.indexOf
一起array.indexOf
。
var data = {questions: [{question: 'lala',answer: 'papa',categories: ['Handla']},{question: 'xxxx',answer: 'yyyy',categories: ['Reklamation']}]}, category = 'Reklamation', result = data.questions.filter(({categories}) => categories.indexOf(category) > -1); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.