Javascript 减少数组的键值

Javascript 减少数组的键值,javascript,Javascript,我有一个类似的数组 var myArray = [{ques: 1, ans: "A"}, {ques: 2, ans: "D"}, {ques: 3, ans: "C"}]; 我想将其转换为一个新数组,如: var newArray= [{1: "A"}, {2: "D"}, {3: "C"}] 请帮我实现它 更新 我意识到使用newArray真的很难。哎呀! 将其转换为 var newArray=[1: "A", 2: "D

我有一个类似的数组

var myArray = [{ques: 1, ans: "A"}, 
               {ques: 2, ans: "D"}, 
               {ques: 3, ans: "C"}];
我想将其转换为一个新数组,如:

var newArray= [{1: "A"}, {2: "D"}, {3: "C"}]
请帮我实现它

更新 我意识到使用newArray真的很难。哎呀! 将其转换为

var newArray=[1: "A", 2: "D", 3: "C"]
请帮我做一下。

使用函数

Array.prototype.map()
函数应完成以下工作:

var myArray=[{ques:1,ans:A},{ques:2,ans:D},{ques:3,ans:C}],
newArr=myArray.map(函数(o){
var newObj={};
newObj[o.ques]=o.ans;
返回newObj;
});
控制台日志(newArr)您可以使用

var myArray=[{ques:1,ans:A},{ques:2,ans:D},{ques:3,ans:C}],
newArray=myArray.map(a=>({[a.ques]:a.ans}));

log(newArray)使用映射变换数组的每个元素:

var myArray = [ {ques: 1, ans: "A"}, 
                {ques: 2, ans: "D"}, 
                {ques: 3, ans: "C"}];

var newArray = myArray.map(function(it) { 
    var ret = {};
    ret[it.ques] = it.ans;
    return ret; 
});

这实际上会更难处理。将其简化为
{1:“A”,2:“B”,3:“C”}
可能有点明智,但中间层是两个世界中最糟糕的。为什么要将其转换为属性名称不一致的对象?@charlietfl I hv意识到:)那么,更新中的新结构是完全无效的。你想解决什么更高层次的问题呢?那么这整个问题就是对堆栈溢出的欢迎!虽然您可能已经解决了该用户的问题,但仅使用代码的答案对将来遇到此问题的用户没有多大帮助。请编辑您的答案,解释您的代码解决原始问题的原因。
var myArray = [ {ques: 1, ans: "A"}, 
                {ques: 2, ans: "D"}, 
                {ques: 3, ans: "C"}];

var newArray = myArray.map(function(it) { 
    var ret = {};
    ret[it.ques] = it.ans;
    return ret; 
});