当前位置: 首页 > 知识库问答 >
问题:

获取物业中最大的元素

赫连俊雄
2023-03-14

我正在尝试获取给定数组中的最大元素,以下是要求:

>

var obj={key:[1,2,4]};

有人能给我解释一下为什么当我把

!obj.hasOwnProperty(key)

在IF函数的末尾,我得到了错误:如果属性不存在,应该返回未定义。但是当我把它放在IF函数的开头时,它毫无问题地通过了。

var obj = {
  key: [1, 2, 4]
};

function getLargestElementAtProperty(obj, key) {
  if (obj[key].length === 0 || !Array.isArray(obj[key]) || !obj.hasOwnProperty(key)) {
    return undefined;
  }
  var largestElement = 0;
  for (var i in obj[key]) {
    if (largestElement < obj[key][i]) {
      largestElement = obj[key][i];
    }
  }
return largestElement;
}

共有1个答案

庄智
2023-03-14

当<代码>!obj。hasOwnProperty(key)放在if语句的开头,如果对象没有指定的键(因此,!obj.hasOwnProperty(key)产生true),其他检查将不会因短路或短路而评估(简单地说,如果任何条件的计算结果为true,则不会计算任何其他检查,因为整个表达式将始终为true)。

但是,当置于if语句末尾时,obj[key]。首先计算长度===0。如果obj[key]==未定义,则在计算obj[key]时将发生错误。长度,因为未定义没有属性长度。具体来说,错误是:TypeError:无法读取未定义的属性“length”

 类似资料:
  • 问题内容: 我正在尝试为多维数组中的特定键选择最大值。我无法“找到”有问题的钥匙… 因此,数组(比我在这里发布的要冗长得多) 我试图在整个数组中找到最大的“ dnum”值,因此在此示例中,$ max =2。我知道max函数允许我执行此操作,但是我不确定如何引用dnum。元素而不将整个对象放入foreach循环中,如果我这样做了,那么max不会成为要使用的函数,对吗? 因此,我无法完全做到这一点:

  • 本文向大家介绍如何获取MongoDB中不同元素的最大值,包括了如何获取MongoDB中不同元素的最大值的使用技巧和注意事项,需要的朋友参考一下 要获取不同元素的最大值,请在MongoDBgregation()中使用$sort和$group。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是查询以获取MongoDB中不同元素的最大值- 这将产

  • 本文向大家介绍如何在MongoDB中获取具有最大ID的元素?,包括了如何在MongoDB中获取具有最大ID的元素?的使用技巧和注意事项,需要的朋友参考一下 要获得具有最大id的元素,可以使用方法。为了理解上述概念,让我们用文档创建一个集合。查询如下- 在method的帮助下显示集合中的所有文档。查询如下- 以下是输出- 这是获取具有最大id的元素的查询- 以下是具有最大id的记录的输出-

  • 我试图从mongo集合中检索一个元素,即具有greatest _id字段的元素。我知道这可以通过查询: 但它似乎有点不优雅,我想知道是否有一种方法可以使用findOne()获取特定元素 注意:我想这样做是因为,根据我在ObjectId中读到的内容,第一个字节对应于从Epoch开始的毫秒,因此,插入的最后一个元素将具有最大的_id。有没有其他方法可以检索插入到集合中的最后一个元素?

  • 问题内容: 我有一个二维NumPy数组。我知道如何获取轴上的最大值: 如何获得最大元素的索引?我想代替输出。 问题答案: