首页 > 解决方案 > 将价值从一个对象转移到另一个对象

问题描述

我在下面有这两个对象

const Object1 = {
    0: {questions: "A", a: "Choice 1", b: "Choice 2", c: "Choice 3"},
    1: {questions: "B", a: "Choice 1", b: "Choice 2", c: "Choice 3"},
    2: {questions: "C", a: "Choice 1", b: "Choice 2", c: "Choice 3"}
}

const Object2 = {
    0: "One", 
    1: "Two", 
    2: "Three"
}

我想将问题中的所有值更改为“一”、“二”、“三”,如下所示:

{
    0: {questions: "One", a: "Choice 1", b: "Choice 2", c: "Choice 3"},
    1: {questions: "Two", a: "Choice 1", b: "Choice 2", c: "Choice 3"},
    2: {questions: "Three", a: "Choice 1", b: "Choice 2", c: "Choice 3"}
}

如果有人可以帮助我,我真的很感激。

标签: javascriptobject

解决方案


像这样的事情可以在你的情况下工作吗?

使用 switch-case 而不是对象 2,因为对象 2 没有从字母 A、B 和 C 到其任何值的真正映射。

function letterToNumberMapper(letter) {
   switch (letter) {
      case "A": return "One";
      case "B": return "Two";
      case "C": return "Three";
   }
}

object1 = object1.map(item => {
   return {...item, questions: letterToNumberMapper(item.questions)}
});

推荐阅读