Javascript 如何在AngularJs中将对象转换为对象数组?
这是我的密码Javascript 如何在AngularJs中将对象转换为对象数组?,javascript,angularjs,Javascript,Angularjs,这是我的密码 "type":{"0": { "label":"name", "required":false, "type":"String", }, "1": { "label":"email", "required":false, "type":"String", } } 在上面的代码中,我有Type对象,它包含两个嵌套对象。现在我想使用angularjs将该对象转换为以下格式的对象
"type":{"0":
{ "label":"name",
"required":false,
"type":"String",
},
"1":
{ "label":"email",
"required":false,
"type":"String",
}
}
在上面的代码中,我有Type
对象,它包含两个嵌套对象。现在我想使用angularjs将该对象转换为以下格式的对象数组
输出应如下所示:-
"type":[
{ "label":"name",
"required":false,
"type":"String",
},
{ "label":"email",
"required":false,
"type":"String",
}
]
也许是这样的
var arr=[];
Object.keys(obj).forEach(函数(key)
{
arr.push(对象[键]);
});
obj={type:arr}代码>也许是这样的
var arr=[];
Object.keys(obj).forEach(函数(key)
{
arr.push(对象[键]);
});
obj={type:arr}代码>您可以使用这些键作为数组的索引
var object={“type”:{“0”:{“label”:“name”,“required”:false,“type”:“String”,},“1”:{“label”:“email”,“required”:false,“type”:“String”,}},
数组=[];
Object.key(Object.type).map(函数(k){
数组[+k]=object.type[k];
});
object.type=数组;
document.write(''+JSON.stringify(object,0,4)+'')代码>您可以使用这些键作为数组的索引
var object={“type”:{“0”:{“label”:“name”,“required”:false,“type”:“String”,},“1”:{“label”:“email”,“required”:false,“type”:“String”,}},
数组=[];
Object.key(Object.type).map(函数(k){
数组[+k]=object.type[k];
});
object.type=数组;
document.write(''+JSON.stringify(object,0,4)+'')代码>说你有
var arr = [];
for(var key in obj.type){
arr.push(obj.type[key])
}
obj.type = arr;
你能行
objsArray = [];
Object.keys(objs).forEach(function(key)
{
objsArray.push(objs[key]);
});
说你有
var arr = [];
for(var key in obj.type){
arr.push(obj.type[key])
}
obj.type = arr;
你能行
objsArray = [];
Object.keys(objs).forEach(function(key)
{
objsArray.push(objs[key]);
});
您应该使用
您应该使用
假设你的目标是:
myObj.type = _.map(myObj.type)
如果您正在使用Lodash库:
obj = { type: Object.keys(obj).map(function(key) { return obj[key]; }) };
假设你的目标是:
myObj.type = _.map(myObj.type)
如果您正在使用Lodash库:
obj = { type: Object.keys(obj).map(function(key) { return obj[key]; }) };
为了入党,迟做总比不做强。使用函数式编程处理数组非常有趣,公认的答案非常好,但稍加调整,您就可以得到我的代码中的内容,而且代码更清晰
obj = { type: Object.keys(obj).map(key => obj[key]) };
或者使用更为清洁的清洁剂
// Assuming Problem:
var objectToArray =
{
"type":{"0": {"label":"name",
"required":false,
"type":"String",
},
"1": { "label":"email",
"required":false,
"type":"String",
}
}
}
// Answer:
console.log( {type : Array.from(Object.values(objectToArray.type))} );
超级干净 为了入党——迟来总比不来好。使用函数式编程处理数组非常有趣,公认的答案非常好,但稍加调整,您就可以得到我的代码中的内容,而且代码更清晰
obj = { type: Object.keys(obj).map(key => obj[key]) };
或者使用更为清洁的清洁剂
// Assuming Problem:
var objectToArray =
{
"type":{"0": {"label":"name",
"required":false,
"type":"String",
},
"1": { "label":"email",
"required":false,
"type":"String",
}
}
}
// Answer:
console.log( {type : Array.from(Object.values(objectToArray.type))} );
超级干净 无需循环即可轻松完成:
无需循环即可轻松完成:
你没有注意到输出应该是{type:[…]}
ThankYou@Tom Mettam。它的工作原理你没有注意到输出应该是{type:[…]}
ThankYou@Tom Mettam。它的工作原理你没有注意到输出应该是{type:[…]}
ya,这就是我为什么写obj.type=arr
将用arrayYou错过了输出应该是{type:[…]}
ya,这就是为什么我写了obj.type=arr
将用数组替换旧对象您错过了输出应该是{type:[…]}
您错过了输出应该是{type:[…]}
您也错过了输出应该是{type:[…]}
您也错过了输出应该是{type:[…]}