gpt4 book ai didi

javascript - 在 Javascript 中创建深层嵌套对象

转载 作者:行者123 更新时间:2023-11-29 17:46:08 25 4
gpt4 key购买 nike

从服务器加载 JSON 时,我需要创建对象。对象并不总是预先存在。因此我必须在添加新级别之前检查每个级别是否存在。有没有更好的方法,那么就是下面的方法:

var talkerId = commentDB.val().to;
var commentId = commentDB.val().id

if (!store.talkers.hasOwnProperty(talkerId)) {
store.talkers[talkerId] = {}
}
if (!store.talkers[talkerId].hasOwnProperty(comments)) {
store.talkers[talkerId] = { comments: {} };
}
if (!store.talkers[talkerId].comments.hasOwnProperty(commentId)) {
store.talkers[talkerId].comments[commentId] = {}
}
store.talkers[talkerId].comments[commentId].author = commentDB.val().author;

最佳答案

您可以通过使用对象检查键是否存在来减少键。如果不使用空对象创建新属性。

var dbValue = commentDB.val();

[dbValue.to, 'comments', dbValue.id].reduce(
(o, k) => o[k] = o[k] || {},
store.talkers
).author = commentDB.val().author;

关于javascript - 在 Javascript 中创建深层嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49490926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com