我有一个像这样的Java脚本对象,它有属性和值。
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
}
如何将其转换为此格式,将Property转换为另一个属性并将值转换为另一个属性并将其作为数组转换。
var obj = [
{
SettingTaget: 'key1'
SettingValue: 'value1'
}
{
SettingTaget: 'key2'
SettingValue: 'value2'
}
{
SettingTaget: 'key3'
SettingValue: 'value3'
}
{
SettingTaget: 'key4'
SettingValue: 'value4'
}
}
答案 0 :(得分:2)
循环你的obj
并创建一个数组并将对象推入数组。
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
};
var array_obj = [];
for( var key in obj){
array_obj.push({SettingTaget:key,SettingValue:obj[key]});
}
console.log(array_obj);

答案 1 :(得分:1)
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
}
var newObjArray =[];
for(var x in obj){
newObjArray.push({
SettingTarget:x,
SettingValue:obj[x]
});
}
答案 2 :(得分:1)
你可以通过这种方式实现它:
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
};
var obj1 = [];
for(var i in obj){
obj1[obj1.length] = {"SettingTaget":i, "SettingValue":obj[i]}
}
console.info(obj1);
答案 3 :(得分:0)
我更喜欢使用Object.keys(obj)
而不是for(key in obj)
,因为对于更复杂的对象,您需要检查此for循环中的hasOwnProperty
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
};
var newObjArray = Object.keys(obj).map(function(key)
{
return {
'SettingTarget': key,
'SettingValue': obj[key]
};
});
console.log(newObjArray);