我有一个这样的对象数组:
const questions = [
{
"id":1,
"question":"What animal does bacon come from?",
"correctAnswer": "A",
"A":"pig",
"B":"cow",
"C":"sheep"
},
{
"id":2,
"question":"Which planet is closest to the sun?",
"correctAnswer": "B",
"A":"Saturn",
"B":"Mercury",
"C":"Venus"
}
];
我想将其转换为以下格式:
var newQuestionStructure = {
id: 1,
question:{ Voice: "what animal does bacon come from?", Display:"what animal does bacon come from?"},
correctAnswer:"A",
answers:
{
A:
{
Voice: "pig" ,
Display:"pig" ,
Letter:"A"
},
B:
{
Voice: "cow" ,
Display:"cow" ,
Letter:"B"
},
C:
{
Voice: "sheep" ,
Display:"sheep" ,
Letter:"C"
},
}
}
我编写了以下函数,以尝试使用所需的新结构创建对象的新数组:
var QuestionJson = require('./output');
var newQuestionArray =[];
for (let x=0;x<QuestionJson.length;x++){
newQuestionArray.push({
id: QuestionJson[x].id,
question: { Voice:QuestionJson[x].A, Display:QuestionJson[x].question},
correctAnswer:QuestionJson[x].correctAnswer,
answers:
{
A:
{
Voice: QuestionJson[x].A ,
Display:QuestionJson[x].A ,
Letter:"A"
},
B:
{
Voice: QuestionJson[x].B ,
Display:QuestionJson[x].B ,
Letter:"B"
},
C:
{
Voice: QuestionJson[x].C ,
Display:QuestionJson[x].C ,
Letter:"C"
},
}
}
);
}
但是,此函数的输出为某些键产生[Object]值:
[ { id: 1,
question:
{ Voice: 'What animal does bacon come from?',
Display: 'What animal does bacon come from?' },
correctAnswer: 'A',
answers: { A: [Object], B: [Object], C: [Object] } },
{ id: 2,
question:
{ Voice: 'Which planet is closest to the sun?',
Display: 'Which planet is closest to the sun?' },
correctAnswer: 'B',
answers: { A: [Object], B: [Object], C: [Object] } } ]
是什么原因导致此问题?我注意到“问题”键及其子对象显示正常-但在我的“答案”键上,我看到的是[Object]值而不是我的对象!
任何帮助都会为他们加油!
var QuestionJson = [{
"id": 1,
"question": "What animal does bacon come from?",
"correctAnswer": "A",
"A": "pig",
"B": "cow",
"C": "sheep"
},
{
"id": 2,
"question": "Which planet is closest to the sun?",
"correctAnswer": "B",
"A": "Saturn",
"B": "Mercury",
"C": "Venus"
}
];
var newQuestionArray = [];
for (let x = 0; x < QuestionJson.length; x++) {
newQuestionArray.push({
id: QuestionJson[x].id,
question: {
Voice: QuestionJson[x].A,
Display: QuestionJson[x].question
},
correctAnswer: QuestionJson[x].correctAnswer,
answers: {
A: {
Voice: QuestionJson[x].A,
Display: QuestionJson[x].A,
Letter: "A"
},
B: {
Voice: QuestionJson[x].B,
Display: QuestionJson[x].B,
Letter: "B"
},
C: {
Voice: QuestionJson[x].C,
Display: QuestionJson[x].C,
Letter: "C"
},
}
});
}
console.log(newQuestionArray)
答案 0 :(得分:0)
该功能运行良好。问题出在我终端的输出上。
Flappix演示了通过使用JSON stringify函数以及一些可选参数,该对象在终端中的打印效果很好。
/compare/<commit1>..<commit2>