[英]Convert and combine arrays in javascript
嘿,关于在javascript中转换数组,我需要您的帮助。 请查看我的输出数据:
Answers: {
'0': { '0': 'ans 1' },
'1': { '0': 'ans 11', '1': 'ans 22', '2': 'ans 33' }
}
correctAnswers: {
'1': { '0': true, '1': true }
}
而且我想如果索引与set false
不匹配,那么我期望以下数组:
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: Cannot read property '0' of undefined
你可以从你的按键映射answer
通过检查正确的答案从内键映射到另一个阵列。
此解决方案与检查是否存在正确答案一起工作,然后检查内键。
correct[k] && correct[k][l] || false
^^^^^^^^^^ check first if exists
^^^^^^^^^^^^^ take a truthy value
^^^^^ if not take false
var answers = { 0: { 0: 'ans 1' }, 1: { 0: 'ans 11', 1: 'ans 22', 2: 'ans 33' } }, correct = { 1: { 0: true, 1: true } }, result = Object .keys(answers) .map(k => Object.keys(answers[k]).map(l => correct[k] && correct[k][l] || false)); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.