Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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中修改对象_Javascript - Fatal编程技术网

在Javascript中修改对象

在Javascript中修改对象,javascript,Javascript,我正在尝试转换对象 var data = {"USD": 12323,"CAD":32123} 成为 [{"id":"USD","value":12323},{"id":"CAD","value":32123}] 这就是我到目前为止所尝试的 var res = Object.keys(data).map(function(k) { return [k, result[k]]; }); 并得到结果 [["USD", 12323],["CAD", 32123]] 非常感谢您的帮助

我正在尝试转换对象

var data = {"USD": 12323,"CAD":32123}
成为

[{"id":"USD","value":12323},{"id":"CAD","value":32123}]
这就是我到目前为止所尝试的

var res = Object.keys(data).map(function(k) { 
    return [k, result[k]];
});
并得到结果

[["USD", 12323],["CAD", 32123]]
非常感谢您的帮助


谢谢,

只需将您的
return
语句更改为

return {id: k, value:result[k]}; //observe that an object is returned instead of an array
演示

var数据={“USD”:12323,“CAD”:32123};
var res=Object.keys(数据).map(函数(k){
返回{id:k,值:data[k]};
});

控制台日志(res)您可以迭代对象的键并按如下方式映射它们:

Object.keys(res).map(function(key) { 
    return {id: key, value: data[key]};
}

更改return语句并返回一个对象

var res={
“美元”:12323,
“CAD”:32123
}
var m=Object.keys(res).map(函数(项){
返回{
id:项目,
价值:res[项目]
}
})
log(m)
使用ES6,您可以对元素和结果使用With和a

var数据={“USD”:12323,“CAD”:32123},
result=Object.entries(data.map)([id,value])=>({id,value}));

控制台日志(结果)您正在创建一个数组,而不是一个对象。将
[]
更改为
{}

var res={“USD”:12323,“CAD”:32123};
res=Object.keys(res).map(函数(k){
返回{id:k,value:res[k]};
});

控制台日志(res)
而不是这个:
return[k,result[k]]
do
return{id:k,value:result[k]}
@gurvinder372我不这么认为。实际上我还没找过。只是我喜欢让答案有点描述性。所以对于这种情况,我更喜欢评论。我将从下次开始尝试回答。谢谢你的提问。:-)