ilh*_*han 3 javascript object filter javascript-objects extjs4.1
我有几个这样的对象:

我想移动type一步value,这样他们就在旁边field,然后删除data。转换成 JSON
后看起来像这样:departments
[
{"field" : "DEPARTMAN_NO",
"data" : { "type":"numeric" , "comparison":"eq" , "value":11 }
},
{"field" : "DEPARTMAN_ADI",
"data" : { "type":"string" , "value":"bir" }
}
]
Run Code Online (Sandbox Code Playgroud)
我努力了:
departments = grid.filters.getFilterData();
i = {};
for(var i in department) {
department = i.data;
delete.department.data;
};
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
1)首先,循环departments,每一项我们称之为department;
2)你想将department.data的属性移动到department,从另一个角度来说,你可以将department的属性移动到department.data并返回department.data,代码如下:
var departments = [{
"field": "DEPARTMAN_NO",
"data": {
"type": "numeric",
"comparison": "eq",
"value": 11
}
}, {
"field": "DEPARTMAN_ADI",
"data": {
"type": "string",
"value": "bir"
}
}],
department;
for (var i = 0, len = departments.length; i < len; i++) {
department = departments[i]; // department
for (var key in department) {
if (key !== 'data' && department.data) {
department.data[key] = department[key];
}
}
departments[i] = department.data || department; // if no department.data, no change
}
console.log(departments);
Run Code Online (Sandbox Code Playgroud)
结果:

查看完整演示http://jsfiddle.net/KVYE5/