Underscore.js _.max函数
Underscore.js是一个JavaScript库,它提供了很多有用的函数,对编程有很大的帮助,如map、filter、invokes等,甚至不使用任何内置对象。_.max()函数用于从传递的列表中找到最小元素。如果给定了一个迭代,那么它将被应用于每个值,并生成标准来对这些值进行排序,并找到最小元素。语法。
_.max(list, [iterate], [context])
参数:该函数接受上面提到的和下面描述的三个参数。
- list。该参数用于保存项目的清单。
- iterate。该参数用于保持测试条件。
- context。该参数用于显示内容。
返回值:返回值是列表中最大的那个元素。一个数字列表将给出最大的数字,而字符串的列表将给出按字母顺序排列的最后一个字符串。将一个数字数组传递给_.max函数(): _.max()函数从列表中一个一个地获取元素,并对这些元素进行比较以找到列表中的最大数字。在遍历和比较所有的元素后,_.max()函数结束。
例子:
<html>
<head>
<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
var numbers = [100, 50, 400, 66, 7900];
console.log(_.max(numbers));
</script>
</body>
</html>
输出:
将一个既有数字又有字符串的列表作为其属性传递给_.max()函数:传递一个既有数字又有字符串的列表,并通过其中一个属性比较这些元素。或者通过数字的属性,或者通过字符串的属性。就像这里,我们在 “难度 “属性上进行比较。最大的难度元素将被返回。
例子:
<html>
<head>
<script type="text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
var languages = [
{
name: 'HTML',
difficulty: 4
},
{
name: 'CSS',
difficulty: 5
}
];
console.log(_.max(languages, function(o)
{
return o.difficulty;
}));
</script>
</body>
</html>
输出:
将一个超过1个属性的结构传递给_.max()函数:首先,声明数组(这里数组是’arr’)并从众多属性中选择一个,在此基础上需要找到最大值,比如这里的’hasLongHairs’。Console.log将这个返回的最大值存储在这个变量中。
例子:
<html>
<head>
<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
var arr = [
{prop1:"10", prop2:"07", prop3: "Geeks"},
{prop1:"12", prop2:"86", prop3: "for"},
{prop1:"11", prop2:"58", prop3: "Geeks."}
];
console.log(_.max(arr, function(o){return o.prop2;}));
</script>
</body>
</html>
输出:
将’真’和’假’作为列表中的元素传递给_.max()函数:将’真’和’假’的值传递给.max()函数。如果这些值在列表中至少出现过一次,其最大值将被定义为’真’,否则答案将是’假’。这与’.min()’函数的情况正好相反。
例子:
<html>
<head>
<script type="text/javascript" src =
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
console.log(_.max([true, false, true]));
console.log(_.max([true, true]));
console.log(_.max([false, false]));
</script>
</body>
</html>
输出: