【问题标题】:how to remove {} empty field in array .. nodejs如何删除数组中的 {} 空字段.. nodejs
【发布时间】:2017-01-10 00:42:28
【问题描述】:

我正在使用下面的代码...但是如果状态为空,则在下面显示数据库结果...如果状态为空,我想删除..

1 地址{},状态{}保存在数据库中。

function CheckStatus(oldJob, newJob) {
  var obj = {};
  if(newJob && newJob.Status) { 
   obj.Status= {}; 
    if (oldJob.Status.total !== newJob.Status.total) {
      obj.Status.total = newJob.Status.total;
    }
    if (oldJob.Status.charge_description && oldJob.Status.charge_description !== newJob.Status.charge_description) {
      obj.Status.charge_description = newJob.Status.charge_description;
    }
  }
}

蒙古数据库

 "Job" : {
        "_id" : ObjectId("5873b352e7621d08fccc5890"),
        "updated_by" : "",
        "details" : "{\"current_status\":\"Completed\",\"address\":{},\"Status\":{}}",
        "changetype" : "Update",
        "datetime" : ISODate("2017-01-09T15:59:14.202Z")
    },

请帮助如何输入 If Condition(下面的代码不起作用)

 if(obj.address = '{}')
  {
   console.log('Empty');

  }

【问题讨论】:

    标签: node.js mongodb mongoose-schema


    【解决方案1】:

    将对象的值设置为undefined 实质上会删除它们。您可以像这样轻松使用undefined 关键字:
    newJob.address = undefined;

    如何检查空对象并删除其内容:

    if(Object.keys(newJob.address).length === 0 && obj.constructor === Object){
        newJob.address = undefined;
    }
    

    这个问题的答案更好地解释了解决方案:
    How do I test for an empty JavaScript object?

    【讨论】:

    • 我正在更改我的代码.. if(obj.address = 'undefined') 不起作用
    • 您阅读我提到的问题了吗?我只回答了“删除”变量的部分。此外,您应该检查不带引号的未定义。而且您永远不会与单个等号进行比较。
    • if(obj.address == undefined) 当我输入 if(obj.address = undefined) 时不起作用 ..这只能为空..
    • 感谢您的回答..它的工作:) 你的好人 :)
    • 我还需要一个答案..请参阅我的旧帖子..stackoverflow.com/questions/41533714/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多