在javascript中转换和组合数组
嘿,我需要你在用javascript转换数组方面的帮助。请查看我的输出数据:在javascript中转换和组合数组,javascript,arrays,object,Javascript,Arrays,Object,嘿,我需要你在用javascript转换数组方面的帮助。请查看我的输出数据: Answers: { '0': { '0': 'ans 1' }, '1': { '0': 'ans 11', '1': 'ans 22', '2': 'ans 33' } } correctAnswers: { '1': { '0': true, '1': true } } 我想知道索引是否与setfalse不匹配,所以我希望使用以下数组: convertArray = [[false], [true
Answers: {
'0': { '0': 'ans 1' },
'1': { '0': 'ans 11', '1': 'ans 22', '2': 'ans 33' }
}
correctAnswers: {
'1': { '0': true, '1': true }
}
我想知道索引是否与setfalse
不匹配,所以我希望使用以下数组:
convertArray = [[false], [true, true, false]]
对于此任务,我使用以下函数
var choiceBoolean = [];
for(corrAns in Answers){
let tempArr = [];
Object.keys(Answers[corrAns]).forEach(k =>
tempArr[k] = correctAnswers[corrAns][k] || false)
choiceBoolean.push(Array.apply(null, tempArr).map(Boolean))
}
不幸的是,我收到错误
TypeError:无法读取未定义的属性“0”
您可以通过检查正确答案,将answer
中的键映射到内部键中的另一个映射数组
此解决方案需要检查是否存在正确答案,然后检查内部密钥
correct[k] && correct[k][l] || false
^^^^^^^^^^ check first if exists
^^^^^^^^^^^^^ take a truthy value
^^^^^ if not take false
var answers={0:{0:ans1'},1:{0:ans11',1:ans22',2:ans33'},
correct={1:{0:true,1:true},
结果=对象
.钥匙(答案)
.map(k=>Object.keys(answers[k]).map(l=>correct[k]&correct[k][l]| false));
控制台日志(结果)
通过检查正确答案,您可以将应答
中的键映射到内部键的另一个映射数组
此解决方案需要检查是否存在正确答案,然后检查内部密钥
correct[k] && correct[k][l] || false
^^^^^^^^^^ check first if exists
^^^^^^^^^^^^^ take a truthy value
^^^^^ if not take false
var answers={0:{0:ans1'},1:{0:ans11',1:ans22',2:ans33'},
correct={1:{0:true,1:true},
结果=对象
.钥匙(答案)
.map(k=>Object.keys(answers[k]).map(l=>correct[k]&correct[k][l]| false));
控制台日志(结果)代码>非常感谢您的帮助…再次非常感谢您的帮助…再次