下面是代碼,只要我得到了它現在:獲取從功能關聯數組最大值或最小值和參數
<!DOCTYPE html>
<html>
<body>
<button onclick="scanarray('a', 'max')">Test with a, max</button>
<button onclick="scanarray('b', 'min')">Test with b, min</button>
<p id="demo">test</p>
<script>
var array = [{"a":1},{"b":3},{"a":6},{"b":10}];
var max = null;
var min = null;
var value = null;
function scanarray(scanval, searchterm) {
if (array.length < 1) {
return -1;
}
if(searchterm == "max"){
max = Math.max.apply(Math,array.map(function(e){return e.scanvalue;}))
}else if (searchterm == "min"){
min = Math.min.apply(Math,array.map(function(e){return e.scanval;}))
}else
{document.getElementById("demo").innerHTML = "Only max and min available";}
if(searchterm == "max"){
document.getElementById("demo").innerHTML = "Search: " + scanval +" "+ "Value: " + max;
}
if(searchterm == "min"){
document.getElementById("demo").innerHTML = "Search: " + scanval +" "+ "Value: " + min;
}
}
</script>
</body>
</html>
上面應該給我一個和6或b和3的結果。然而,我得到NaN作爲價值部分的結果。在Math部分使用「return e.a」時,只能使用as鍵。
我希望能夠確定我作爲參數輸入到函數的鍵的最大值或最小值。
希望你能幫助我。
在此先感謝。
TheVagabond
'array.map(function(e){return e.scanvalue;})'什麼是e.scanvalue? – gcampbell
scanvalue是我在這裏掃描的關鍵值a或b e僅用於函數,因此它被引用 – Thevagabond
數組中的對象沒有名爲'scanvalue'的屬性。 – gcampbell