Javascript 如何基于对象中的键值对将数组映射到新数组?
我正在写一个脚本,它将在考试中得分。答案是口头的,每个单词对应一个从1到5的特定数值 我创建了一个记录这些通信的对象: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
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