javascript - 如何在当前现有的 javascript 对象中添加嵌套对象

标签 javascript node.js json backend

我试图在我的 javascript 对象中添加一个嵌套对象。我在网上找不到任何解决方案。
我有一个来自服务器的响应,我需要在将相同的数据存储到数据库之前设置一些值。

这是对象:

"currentMembership": {
                    "messages": {
                        "isUnlimited": false,
                        "count": 5
                    },
                    "likes": {
                        "isUnlimited": false,
                        "count": 5
                    },
                    "matches": {
                        "isUnlimited": false,
                        "count": 0,
                        "validFor": 0
                    },
                    "backtrack": {
                        "isUnlimited": false,
                        "count": 0
                    }
                }

我正在尝试将 dailyCount 对象添加到我的一些对象中,以便返回的对象更新为:
"currentMembership": {
                    "messages": {
                        "dailyCount": {
                            "date": "2019-12-10T19:33:22.793Z"
                            "count": 5
                        },
                        "isUnlimited": false,
                        "count": 5
                    },
                    "likes": {
                        "dailyCount": {
                            "date": "2019-12-10T19:33:16.664Z",
                            "count": 5
                        },
                        "isUnlimited": false,
                        "count": 5
                    },
                    "matches": {
                        "dailyCount": {
                            "date": "2019-12-10T19:33:16.697Z",
                            "count": 0
                        },
                        "isUnlimited": false,
                        "count": 0,
                        "validFor": 0
                    },
                    "backtrack": {
                        "dailyCount": {
                            "date": "2019-12-10T19:33:16.701Z",
                            "count": 0
                        },
                        "isUnlimited": false,
                        "count": 0
                    },
                    "hasPremiumPlan": false,
                    "hasDMPlan": false,
                    "filters": false
                }

任何帮助都会很棒! :)

最佳答案

您可以使用for...in循环遍历对象的属性。

var i;
for (i in currentMembership) {
  currentMembership[i].dailyCount = {
    date: "2019-12-10T19:33:16.701Z",
    count: 0
  }
}

如果您只针对某些属性,请使用这些键创建一个数组并循环它们。

for (var keys = ['messages', 'likes', 'matches', 'backtrack'], i = 0, j = keys.length; i < j; i++) {
  currentMembership[keys[i]].dailyCount = {
    date: "2019-12-10T19:33:16.701Z",
    count: 0
  }
}

关于javascript - 如何在当前现有的 javascript 对象中添加嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59274268/

相关文章:

javascript - 如何恢复已删除的谷歌地图标记

javascript - Node : Sending html data from one js to another

angularjs - Bower 调用被公司代理阻止,然后在更新 .bowerrc 时出现错误

json - 在没有未知格式结构的情况下执行模板

php - 完成后的动态列表 2 输入 html json

javascript - jQuery 在选择器内查找

javascript - 除非调整页面大小,否则滑动 slider 不起作用

javascript - 在 header 中使用 token 获取请求

javascript - 连接已签名的 cookie 解析错误

javascript - Chrome 扩展程序 - 背景页面和未读项目