首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kinvey属性更新

Kinvey属性更新
EN

Stack Overflow用户
提问于 2018-04-04 17:05:21
回答 1查看 41关注 0票数 0

寻找一种更好的方法来使用包含更新值/新条目的另一个对象来更新子对象。

这里的参数" pObj“是一个已经有一些孩子的对象,只想用参数”pObj“中可用的最新值来更新数据。

在下面的代码中,我使用的是Kinvey无服务器云平台。"Object.children“,这是Kinvey不支持的--原因不清楚。

下面的代码对我来说工作得很好,但它看起来有点丑陋,也固定了深度。

代码语言:javascript
复制
function mergeObjects(pObj, data) {
  var tempObj = {};
  if (pObj) {
    tempObj = pObj;
  }
  if (typeof(data) == "object") {
    for (var j in data) {
      if (!tempObj[j]) {
        tempObj[j] = {};
      }
      if (typeof(data[j]) == "object") {
        for (var k in data[j]) {
          if (!tempObj[j][k]) {
            tempObj[j][k] = {};
          }
          if (typeof(data[j][k]) == "object") {
            for (var l in data[j][k]) {
              if (!tempObj[j][k][l]) {
                tempObj[j][k][l] = {};
              }
              tempObj[j][k][l] = data[j][k][l];
            }
          } else {
            tempObj[j][k] = data[j][k];
          }
        }
      } else {
        tempObj[j] = data[j];
      }
    }
  }
  return tempObj;
}
EN

回答 1

Stack Overflow用户

发布于 2018-04-10 02:13:44

Kinvey遗留BL使用Node0.10,这可能是你不能使用Object.children的原因吗?

不过,它确实支持lodash,所以也许您可以使用lodash模块中的对象操作选项。

作为替代方案,您可以查看新的Flex Services,这是一个使用node6的微服务层。它允许你内联任何你想要的npm模块,并将整个node.js运行时部署到我们的FSR运行时中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49646951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档