如何在 JavaScript 中动态创建哈希表

how to create a hashtable dynamically in javascript

本文关键字:动态 创建 哈希表 JavaScript      更新时间:2023-09-26

我有一个Web应用程序,它将返回JSON作为响应,其响应如下所示:

{"album1" : "track1" , "album1" : "track2" , "album1" : "track3" , "album2" : "track1"}

请注意,后端的架构超出了我的控制范围,我无法更改它创建 json(重复键)的方式

所以我想在javascript中创建一个哈希表,我的哈希表的想法应该是这样的:

"album1" : ["track1" , "track2" , "track3"]

我的问题是如何在 JavaScript 中创建这样的行为?

我知道如何创建哈希图,但不知道哈希表。

好吧,如果这个结构保持不变,你可能会把一个函数组合在一起。行如下

var response = '{"album1" : "track1" , "album1" : "track2" , "album1" : "track3" , "album2" : "track1"}'
.replace(/}?{?/g, '');
var sanitisedData = {};
var transform = response.split(',').map(function(item){
    return JSON.parse('{' + item + '}');
}).forEach(function(item){
    var key = Object.keys(item)[0];
    if(!sanitisedData [key]) sanitisedData [key] = [];
    sanitisedData [key].push(item[key]);
});
//output - {"album1":["track1","track2","track3"],"album2":["track1"]}