javascript - 使用 Javascript 即时创建嵌套对象

标签 javascript

我是来自 Python 背景的 Javascript 新手,在 Python 中使用自定义字典和 .get 方法可以轻松创建嵌套数据。我想做的是创建一个采用以下形式的艺术家数据的嵌套对象:artistDict[artist][albumName] = albumYear。我需要通过迭代可迭代的专辑对象来动态创建此对象。这是我当前使用的代码:

albumDict = {};
albums.forEach(function(item){
albumDict[item.artist][item.name] = item.year;
});
document.write(albumDict);

这不起作用,这并不奇怪,因为这样的东西在 Python 中也不起作用。但是,在 Python 中,我可以使用 .get 方法来检查某个条目是否在字典中,如果没有则创建它 - 是否有类似的东西,或者我可以用来实现我的目标的任何其他实用程序JS 的目标?

最佳答案

这应该有效:(如果该属性不存在,您应该初始化它..)

albumDict = {};
albums.forEach(function(item){
    albumDict[item.artist] = albumDict[item.artist] || {};
    albumDict[item.artist][item.name] = item.year;
});

关于javascript - 使用 Javascript 即时创建嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731168/

相关文章:

javascript - rails 3 : How to add/remove a group of fields using Jquery?

javascript - 如何通过 JavaScript 将 [list] BBCode 转换为 HTML?

javascript - amplify.store 不保留我的对象的原型(prototype)函数

javascript - 如何使用 javascript 或 jquery 添加 html <a> 标签?

javascript - jQuery 使用 Google Analytics 跟踪事件

javascript - javaScript 中的未知查询语句

javascript - 使用 jQuery 从 API 显示天气

javascript - 易于编程的 WebSocket 服务器

javascript - 自定义 Javascript 未在 Internet Explorer 9 和 10 中触发

javascript - 检查 DOM 元素是否有焦点