0

我正在尝试在 javascript 中实现如下所示的数据结构:

settings: {
   { "key": "Language", "value": "en" },
   { "key": "Language", "value": "en" }
}

键的数量是可变的,需要迭代。我以为我可以用数组来做,但是 [0] 数字妨碍了我。

这就是我现在拥有的:

convertSettingsToApiSaveFormat(values) {
        const keys = Object.keys(values);
        const items = Object.values(values);

        const valuesToSend = keys.map((key, i) => {
            return { key, value: items[i] };
        });
        return { settings: [valuesToSend] };
    }
}

返回: 在此处输入图像描述

任何帮助深表感谢!

4

2 回答 2

2

首先这是一个无效的数据结构

settings: {
   { "key": "Language", "value": "en" },
   { "key": "Language", "value": "en" }
}

JavaScript 对象是基本的键值对,你可以看到下面两个对象没有和键。

要么就是这样

 settings: {
   "someKey":  { "key": "Language", "value": "en" },
   "someKey2": { "key": "Language", "value": "en" }
}

或者一个简单的 JS 数组

settings: [
   { "key": "Language", "value": "en" },
   { "key": "Language", "value": "en" }
]
于 2019-09-05T10:06:16.930 回答
1

您将放置valuesToSend在数组中 - 将其删除,您将获得所需的输出*

return { settings: valuesToSend };

*您当前想要的结果无效 - 但是,这是有效的:

settings: [
  { "key": "Language", "value": "en" },
  { "key": "Language", "value": "en" }
}
于 2019-09-05T10:10:49.653 回答