Javascript 如何基于对象中的键值对将数组映射到新数组?

Javascript 如何基于对象中的键值对将数组映射到新数组?,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我正在写一个脚本,它将在考试中得分。答案是口头的,每个单词对应一个从1到5的特定数值 我创建了一个记录这些通信的对象: const answerValues = { "Consistently": 5, "Often": 4, "Sometimes": 3, "Rarely": 2, "Never": 1 } 答案以如下结构的数组形式给出: const answers = [ ["Consistently, "Often", "Sometimes

我正在写一个脚本,它将在考试中得分。答案是口头的,每个单词对应一个从1到5的特定数值

我创建了一个记录这些通信的对象:

const answerValues = {
    "Consistently": 5,
    "Often": 4,
    "Sometimes": 3,
    "Rarely": 2,
    "Never": 1
  }
答案以如下结构的数组形式给出:

const answers = [
  ["Consistently, "Often", "Sometimes", "Rarely", "Never"],
  ["Often, "Sometimes", "Consistently", "Never", "Rarely"],
  ["Sometimes, "Rarely", "Consistently", "Rarely", "Often"]
]
const answerResults = [
  [5, 4, 3, 2, 1],
  [4, 3, 5, 1, 2],
  [3, 2, 5, 1, 4]
]
我需要做的是将原始答案映射到一个新数组,该数组将如下所示:

const answers = [
  ["Consistently, "Often", "Sometimes", "Rarely", "Never"],
  ["Often, "Sometimes", "Consistently", "Never", "Rarely"],
  ["Sometimes, "Rarely", "Consistently", "Rarely", "Often"]
]
const answerResults = [
  [5, 4, 3, 2, 1],
  [4, 3, 5, 1, 2],
  [3, 2, 5, 1, 4]
]
我似乎无法让它工作;任何帮助都将不胜感激

PS如果需要,我可以将答案数组更改为一个对象,如果这样做会更容易。

使用地图

演示

var应答值={ 一贯:5, 经常:4, 有时:3,, 2,, 从不:1 }; var答案=[ [一贯、经常、有时、很少、从不], [经常、有时、一贯、从不、很少], [有时,很少,一贯,很少,经常] ]; var输出=answers.maps=>s.mapt=>answerValues[t]; console.logoutput 使用地图

演示

var应答值={ 一贯:5, 经常:4, 有时:3,, 2,, 从不:1 }; var答案=[ [一贯、经常、有时、很少、从不], [经常、有时、一贯、从不、很少], [有时,很少,一贯,很少,经常] ]; var输出=answers.maps=>s.mapt=>answerValues[t];
console.logoutput 可以将外部数组与内部数组的对象的值映射

常数 answerValues={一致:5,经常:4,有时:3,很少:2,从不:1}, 答案=[[一贯,经常,有时,很少,从不],[经常,有时,一贯,从不,很少],[有时,很少,一贯,很少,经常], 结果=answers.mapa=>a.mapk=>answerValues[k];
console.logresult 可以将外部数组与内部数组的对象的值映射

常数 answerValues={一致:5,经常:4,有时:3,很少:2,从不:1}, 答案=[[一贯,经常,有时,很少,从不],[经常,有时,一贯,从不,很少],[有时,很少,一贯,很少,经常], 结果=answers.mapa=>a.mapk=>answerValues[k];
console.logresult 简单使用嵌套映射,然后使用answerValues映射返回响应

常数答案=[ [一贯、经常、有时、很少、从不], [经常、有时、一贯、从不、很少], [有时,很少,一贯,很少,经常] ] 常量应答值={ 一贯:5, 经常:4, 有时:3,, 2,, 从不:1 } const res=answers.mapanswer=>{ 返回answer.mapresp=>answerValues[resp]; }
console.logres简单使用嵌套映射,然后使用answerValues映射返回响应

常数答案=[ [一贯、经常、有时、很少、从不], [经常、有时、一贯、从不、很少], [有时,很少,一贯,很少,经常] ] 常量应答值={ 一贯:5, 经常:4, 有时:3,, 2,, 从不:1 } const res=answers.mapanswer=>{ 返回answer.mapresp=>answerValues[resp]; } 控制台。logres