Javascript 如何在angular service方法中迭代http响应(json),以生成定制的json?

Javascript 如何在angular service方法中迭代http响应(json),以生成定制的json?,javascript,angular,Javascript,Angular,我得到如下http响应: [ {"id": "1", "name": "2", "value": "3", "any": "4"} ] [ { "heading": "id" "content": "1" }, { "heading": "name" "content": 2 }, { "heading": "value" "content": 3 }, { "heading": "any" "content": 4 }

我得到如下http响应:

[
    {"id": "1", "name": "2", "value": "3", "any": "4"}
]
[
{
    "heading": "id"
    "content": "1"
},
{
    "heading": "name"
    "content": 2
},
{
    "heading": "value"
    "content": 3
},
{
    "heading": "any"
    "content": 4
}
]
我想把它转换成这样的东西:

[
    {"id": "1", "name": "2", "value": "3", "any": "4"}
]
[
{
    "heading": "id"
    "content": "1"
},
{
    "heading": "name"
    "content": 2
},
{
    "heading": "value"
    "content": 3
},
{
    "heading": "any"
    "content": 4
}
]
我正在使用angular4.0.0,我希望在服务方法中执行此操作。 如何实现这一结果?

给你:

var arrayData=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
]
让finalArray=arrayData.map(el=>{
让returnArray=[];
用于(让输入el){
push({heading:key,content:el[key]})
}
返回数组;
})
控制台日志(finalArray)给你:

var arrayData=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
]
让finalArray=arrayData.map(el=>{
让returnArray=[];
用于(让输入el){
push({heading:key,content:el[key]})
}
返回数组;
})
控制台日志(finalArray)
var响应=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
];
var newJson=[];
response.forEach(函数(val,index){
Object.keys(val).forEach(函数(数据){
push({heading:data,content:val[data]})
})
log(newJson)
})
var响应=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
];
var newJson=[];
response.forEach(函数(val,index){
Object.keys(val).forEach(函数(数据){
push({heading:data,content:val[data]})
})
log(newJson)
})
var响应数据=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
];
var finalResult=[];
响应数据图(功能(项目){
var检验=[];
var allKeys=Object.keys(项);
对于(i=0;i
var响应数据=[
{“id”:“1”,“name”:“2”,“value”:“3”,“any”:“4”}
];
var finalResult=[];
响应数据图(功能(项目){
var检验=[];
var allKeys=Object.keys(项);

for(i=0;i您试图实现什么?for和foreach loops您试图实现什么?for和foreach loops您在数组中返回一个数组,它不是预期的输出。您可能必须删除
映射
;)@sjahan,我提供的解决方案是全局的,它将适用于
arrayData
中的任意数量的结果,您所说的很简单。:),OP应该理解代码。:DYou返回数组中的数组,它不完全是预期的输出。您可能必须删除
映射(
;)@sjahan,我提供的解决方案是全局的,它适用于
arrayData
中的任意数量的结果,您所说的很简单。:),OP应该理解代码。:D