我有一个javascript object
,我想创建一个只有一些属性的新文件。
如何从下面的对象创建仅包含属性a
和c
的新对象?
json = {
"test": [
{
"a": "val_a1",
"b": "val_b1",
"c": "val_c1",
"d": "val_d1"
},
{
"a": "val_a2",
"b": "val_b2",
"c": "val_c2",
"d": "val_d2"
},
{
"a": "val_a3",
"b": "val_b3",
"c": "val_c3",
"d": "val_d3"
}
]
}
我想要一个包含以下数据的新对象:
smaller_json = {
"test": [
{
"c": "val_a1",
"a": "val_c1"
},
{
"c": "val_a2",
"a": "val_c2"
},
{
"c": "val_a3",
"a": "val_c3"
}
]
};
答案 0 :(得分:0)
<强> JSFIDDLE DEMO 强>
代码:
var json = {
"test": [
{
"a": "val_a1",
"b": "val_b1",
"c": "val_c1",
"d": "val_d1"
},
{
"a": "val_a2",
"b": "val_b2",
"c": "val_c2",
"d": "val_d2"
},
{
"a": "val_a3",
"b": "val_b3",
"c": "val_c3",
"d": "val_d3"
}
]
};
var new_json = {test:{}};
$(document).ready(function(){
$.each(json.test, function(key, value){
//console.log("key = "+key);
//console.log("value = ");
//console.log(value);
var new_obj = {};
new_obj.a = value.a;
new_obj.c = value.c;
new_json.test[key] = new_obj;
});
console.log("new_json = ");
console.log(new_json);//here new_json will only contain attributes "a" and "c" only
});