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;
});