我想知道这是否可能,但是我想尝试一下。 我有一个如下数组:
srcStruct = {
id: ["firstID", "secondID"],
value: ["firstValue", "secondValue"]
};
我想从此数组中获取一个结构值,如下所示:
destStruct = {
firstID: firstValue,
secondID: secondValue
}
我尝试跟随,但没有用。
destStruct = {[srcStruct.id]: srcStruct.value};
请告诉我这是否可行以及如何执行。
答案 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)
希望有帮助!