Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJs中将对象转换为对象数组?_Javascript_Angularjs - Fatal编程技术网

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:[…]}