使用解析器方法过滤对象数组

时间:2019-09-12 18:26:39

标签: javascript graphql

我在文件的开头声明了静态数据(它是数据库的模拟物),它是数组类型,它由具有相同结构的对象组成,例如[{id,date,value}]。一些对象具有相同的日期或值。我在使用相同的值或日期获取所有内容时遇到问题。我使用本机js metod进行过滤,该方法应返回对象数组,但只会覆盖第一个到达范围。

所以我已经尝试过了

const RootQuery = new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
        wallet: {
            type: WalletType,
            args: { id: { type: GraphQLID } },
            resolve(parent, args) {
                return sampleData.filter((item) => { return item.id == args.id});
            }
        },
        value: {
            type: ValueType,
            args: { value: {type: GraphQLInt}},
            resolve(parent, args){
                return sampleData.filter(item => item.value == args.value);
            }
        }
    }
});

我在示例中发现,每个人都使用lodash进行装配,查找等。 我不确定为什么。

编辑:这就是我要处理数据的方式

{
  value(value: 5000){
    id
    date
    value
  }
}

我尝试了用lodash过滤器,但它也不起作用。 JS native和lodash find效果很好-返回第一个正确的值

0 个答案:

没有答案