【问题标题】:how to check properties object is there or not ? jquery [duplicate]如何检查属性对象是否存在? jQuery [重复]
【发布时间】:2020-05-08 10:27:24
【问题描述】:

我有一些问题,我有一个这样的数组

var obj = [{'person': {'name: 'foo', 'email': 'email.com'}, {'person': {'name: 'foo'}]

如果我在 var obj 中循环,并且想要像这样获得有价值的电子邮件:

$.each(obj, function(index, value) {
    console.log(value.person.email)
}

如果我这样做,它会显示错误,因为无法读取属性电子邮件。

当这个人没有电子邮件时我如何传递它?或者有没有办法在php上创建像isset这样的条件

【问题讨论】:

标签: javascript jquery arrays


【解决方案1】:

您可以使用简单的!!,它将返回布尔值。

var obj = [{'person': {'name': 'foo', 'email': 'email.com'}}, {'person': {'name': 'foo'}}];

$.each(obj, function(index, value) {
    if(!!value.person.email){
      console.log(value.person.email);
    } else {
      console.log("Email not available");
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

【讨论】:

    【解决方案2】:

    您可以使用in 运算符来检查object 是否存在该密钥。

    请注意,您的数组中存在语法错误。我已经更正了。

    var obj = [{'person': {'name': 'foo', 'email': 'email.com'}}, {'person': {'name': 'foo'}}];
    
    $.each(obj, function(index, value) {
      if ('email' in value.person){
        console.log(value.person.email);
      }      
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    【讨论】:

      猜你喜欢
      • 2018-01-01
      • 2013-11-28
      • 1970-01-01
      • 2013-12-26
      • 2020-06-20
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 2014-05-08
      相关资源
      最近更新 更多