Javascript 用于在搜索中查询筛选器参数的嵌套数组

Javascript 用于在搜索中查询筛选器参数的嵌套数组,javascript,ember.js,filter,ember-data,Javascript,Ember.js,Filter,Ember Data,我有: 如何在Ember.JS中将其转换为查询参数: [ { id: // the field to be search { eq: '1234' // eq is the operand; 1234 is the keyword } }, { description: { like: 'desc'

我有:

如何在Ember.JS中将其转换为查询参数:

[
    {
        id: // the field to be search
            {
                eq: '1234'  // eq is the operand; 1234 is the keyword
            }
    },
    {
        description:
            {
                like: 'desc'
            }
    }
]

因为API需要这样的格式用于过滤器?

也许这就是您要寻找的:

变量过滤器=[ { 身份证件: { 等式:“1234” } }, { 说明: { 比如:“desc” } } ]; 变量输出='?'; filter.forEachfunction项{ 输出+=‘过滤器’; Object.keysitem.forEachfunction属性{ 输出+='['+prop+']'; Object.keysitem[prop].forEachfunction subop{ 输出+='['+subop+']='+项目[prop][subop]; }; }; 输出+='&'; }; output=output.substring0,output.length-1;
console.logoutput 解决方案非常简单。因为第一个元素和第二个元素是不同的,所以我假设它总是这样

以下是解决方案:

常数数据=[ { 身份证:{ 等式:“1234” } }, { 说明:{ 比如:“desc” } } ]; 常数[第一,第二]=数据; 常量queryParams=`?filter[id][eq]=${first['id']['eq']}和filter[description][like]=${second['description']['like']}; console.logqueryParams; 那么输出将是:

?过滤器[id][eq]=1234和过滤器[description][like]=desc 以ES6的方式

var arr=[ { 身份证件: { 等式:“1234” } }, { 说明: { 比如:“desc” } } ]; 常量url='?'+arr.mapfilter=>{ //假设是单键,所以使用pop。 //如果输入数组架构发生更改,则相应地进行更改。 常量major=Object.keysfilter.pop; const minor=Object.keysfilter[major].pop; 返回`filter[${major}][${minor}]=${filter[major][minor]}`; }.加入&; console.logurl;
//输出:?filter[id][eq]=1234&filter[description][like]=description id和description是什么?将是要搜索的字段我在问题中看到了ember.js和ember数据标记。您可能希望包括您的问题以何种方式特定于此框架。您是否在询问如何将该对象映射到Ember Data中查询请求的参数?@jelhan是的,有任何帮助吗?您是否有Ember.js解决方案?
?filter[id][eq]=1234&filter[description][like]=desc