如何从javascript中的id和value结构创建结构值?

时间:2019-01-14 09:25:26

标签: javascript struct

我想知道这是否可能,但是我想尝试一下。 我有一个如下数组:

srcStruct = {
    id: ["firstID", "secondID"],
    value: ["firstValue", "secondValue"]
};

我想从此数组中获取一个结构值,如下所示:

destStruct = {
    firstID: firstValue,
    secondID: secondValue
}

我尝试跟随,但没有用。

destStruct = {[srcStruct.id]: srcStruct.value};

请告诉我这是否可行以及如何执行。

1 个答案:

答案 0 :(得分:1)

没有像您尝试的那样创建对象的漂亮语法,您必须手动循环浏览对象的键:

const destStruct = {};
srcStruct.id.forEach((id, i) => {
  destStruct[id] = srcStruct.value[i]
})

或者使用Array的reduce

const destStruct = srcStruct.id.reduce(
  (dest, id, i) => {
    dest[id] = srcStruct.value[i];
    return dest;
  }, {})

您还可以查看lodash的zipObject,这使代码看起来更好

import zipObject from ‘lodash/zipObject’;

const { id, value } = srcStruct; // destructuring
const destStruct = zipObject(id, value)

希望有帮助!