在Java脚本中,我想以自动的方式对列表中由变量表示的特定元素进行排序.

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]

Please help me.. 在Java脚本中,我想以自动的方式对列表中由变量表示的特定元素进行排序.

我想制作一个列表,代表‘qnaList’中每组元素(PHQ、GAD、RSES)的选定答案.

ex) selectedPHQ = [3,0,3]
    selectedGAD = [2,1,2]
    selectedRSES = [1,2,1]

推荐答案

您可以对索引重新排序并得到一个析构的array.

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

Javascript相关问答推荐

我的glb文件没有加载到我的three.js文件中

有Angular 的material .未应用收件箱中的价值变化

ReactJS中的material UI自动完成类别

React:未调用useState变量在调试器的事件处理程序中不可用

如何最好地从TypScript中的enum获取值

yarn安装一个本地npm包,以便本地包使用main项目的node_modules(ckeditor-duplicated-modules错误)

Cookie中未保存会话数据

在服务器上放置了Create Reaction App Build之后的空白页面

如何使用子字符串在数组中搜索重复项

使用Google API无法进行Web抓取

如何将innerHTML字符串修剪为其中的特定元素?

如何将数据块添加到d3力有向图中?

覆盖加载器页面避免对页面上的元素进行操作

面对代码中的错误作为前端与后端的集成

Reaction-SWR-无更新组件

在表单集中保存更改时删除';禁用';

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

未找到用于 Select 器的元素:in( puppeteer 师错误)

ComponentWillReceiveProps仍在React 18.2.0中工作

:host::ng-Deep不将样式应用于material 复选框