我有一个包含几个数字的简单JavaScript Array对象.
[267, 306, 108]
Run Code Online (Sandbox Code Playgroud)
是否有一个函数可以找到这个数组中最大的数字?
我从数据属性创建以下数组,我需要能够从中获取最高和最低值,以便稍后将其传递给另一个函数.
var allProducts = $(products).children("li");
prices = []
$(allProducts).each(function () {
var price = parseFloat($(this).data('price'));
prices[price] = price;
});
console.log(prices[0]) <!-- this returns undefined
Run Code Online (Sandbox Code Playgroud)
我的列表项看起来像这样(我已经减少了可读性):
<li data-price="29.97"><a href="#">Product</a></li>
<li data-price="31.00"><a href="#">Product</a></li>
<li data-price="19.38"><a href="#">Product</a></li>
<li data-price="20.00"><a href="#">Product</a></li>
Run Code Online (Sandbox Code Playgroud)
一个快速的console.log价格显示我的数组看起来是排序的所以我可以抓住我假设的第一个和最后一个元素,但目前数组中的名称和值是相同的,所以每当我尝试做价格[0 ],我得到了不确定
[]
19.38 19.38
20.00 20.00
29.97 29.97
31.00 31.00
Run Code Online (Sandbox Code Playgroud)
有一种感觉这是一个非常简单的问题,所以请善待:)
我只是通过jQuery API,我对map()&get()方法有点困惑.我知道我错了,但这个map()方法看起来很像一个.each()陈述?除了文档说它返回一个新的jQuery对象.
我一直在玩jsfiddle试图让我的头围绕它,但我不是那里. 这是jsfiddle链接:
这里还有代码片段:
$.fn.equalizeHeights = function() {
var two = $(this).map(function(i, e) {
return $(e).height();
});
console.log(two);
console.log(two.constructor);
console.log(two.get());
console.log(two.get().constructor);
return this.height(Math.max.apply(this,two.get()));
}
$('input').click(function() {
$('div').equalizeHeights();
});
Run Code Online (Sandbox Code Playgroud)
我看到他们正在使用原型扩展jQuery来创建一个名为的函数equalizeHeights().并$(this)表示页面上所有"div"元素的选择器.在map()通过每个项目的通话迭代的div的数组中,并返回其高度?但我感到困惑的是我正在登录控制台.一个是一个object,另一个是array?
有人可以详细说明这段代码中的内容map()和内容get()吗?
提前致谢.
我有以下div:
<div id="2" class="maindiv">test</div>
<div id="5" class="maindiv">test</div>
<div id="3" class="maindiv">test</div>
<div id="1" class="maindiv">test</div>
<div class="maindiv">test</div>
<div id="4" class="maindiv">test</div>
Run Code Online (Sandbox Code Playgroud)
如何在jQuery或Javascript中获得最高的id(5)和最低的id(1)?