请帮助我..在javascript中,我想以自动方式对列表中的变量表示的特定元素进行排序。
const PHQ = [
{
q: '1',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '2',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '3',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
}]
const GAD = [
{
q: '1',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '2',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '3',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
}]
const RSES = [
{
q: '1',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '2',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
},
{
q: '3',
a: [
{ answer: '1', type: ['a']},
{ answer: '2', type: ['b']},
{ answer: '3', type: ['c']},
{ answer: '4', type: ['d']}
]
}]
const qnaList = [
PHQ[0], GAD[0], RSES[0],
PHQ[1], GAD[1], RSES[1],
PHQ[2], GAD[2], RSES[2],
]
const select = [3,2,1,0,1,2,3,2,1];
each element of 'select' is selected answer in 'qnaList'.
ex) 3 = selected answer of PHQ[0]
2 = selected answer of GAD[0]
1 = selected answer of RSES[0]
I want to make lists that represent selected answers of each group of elements in 'qnaList'.
ex) selectedPHQ = [3,0,3]
selectedGAD = [2,1,2]
selectedRSES = [1,2,1]
请帮助我..在javascript中,我想以自动方式对列表中的变量表示的特定元素进行排序。
我想制作代表“qnaList”中每组元素(PHQ、GAD、RSES)的选定答案的列表。
ex) selectedPHQ = [3,0,3]
selectedGAD = [2,1,2]
selectedRSES = [1,2,1]
您可以重新排序索引并获得破坏的数组。
const
PHQ = [{ q: '1', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '2', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '3', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }],
GAD = [{ q: '1', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '2', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '3', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }],
RSES = [{ q: '1', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '2', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] }, { q: '3', a: [{ answer: '1', type: ['a'] }, { answer: '2', type: ['b'] }, { answer: '3', type: ['c'] }, { answer: '4', type: ['d'] }] } ],
qnaList = [PHQ, GAD, RSES],
select = [3, 2, 1, 0, 1, 2, 3, 2, 1],
[selectedPHQ, selectedGAD, selectedRSES] = select.reduce((r, v, i) => {
(r[i % qnaList.length] ??= []).push(v);
return r;
}, []);
console.log(selectedPHQ);
console.log(selectedGAD);
console.log(selectedRSES);