首页 > 解决方案 > 使用 javascript/jquery 将数组转换为键和值的对象

问题描述

我在将数组转换为键和值的对象时遇到了麻烦。

目前,我有以下嵌套数组:

var array = [[id1, parent1, "name1", "desc1"], [id2, parent1, "name2", "desc2"], [id3, parent1, "name3", "desc3"]];

数组的长度是动态的。

对于我的代码,我需要转换数组,使其成为键和值的对象(由每个嵌套数组的第一个(id)和第三个(名称)值组成)。

例如,上述数组的对象如下:

var obj = {id1: name1, id2: name2, id3: name3};

其中 id 值(id1、id2、id3)将是相应的整数值。

如果之前有人问过类似的问题,我深表歉意,但我似乎找不到一个类似的问题,它的解决方案对我有用。

任何帮助或建议将不胜感激!

标签: javascriptjqueryarraysobjectjavascript-objects

解决方案


您基本上想将原始数组转换为[key, value]成对数组。然后,您可以使用该Object.fromEntries函数将这些键/值转换为对象。所以,像这样:

const arr = [
  ["id1", "parent1", "name1", "desc1"],
  ["id2", "parent2", "name2", "desc2"],
  ["id3", "parent3", "name3", "desc3"],
];

const results = Object.fromEntries(arr.map(x => ([x[0], x[2]])))

console.log(results)


推荐阅读