0
我寫了一個簡單的函數來通過JSON數組值應用數學,它沒有問題。
將jquery函數應用於JSON數組?
$(document).ready(function(){
var arr1 = {"gold":"1000","iron":"2000","wood":"4500","food":"800"} ;
var arr2 = [{"gold":"100","iron":"80","wood":"120","food":"70"}];
Array.max = function(array){
return Math.max.apply(Math, array);
};
Array.min = function(array){
return Math.min.apply(Math, array);
};
function getValidenum(resources,cost) {
var output = [] ;
$.each(cost, function(i, item) {
output.push(Math.floor(resources.gold/item.gold)) ;
output.push(Math.floor(resources.iron/item.iron)) ;
output.push(Math.floor(resources.wood/item.wood)) ;
output.push(Math.floor(resources.food/item.food)) ;
});
return Array.min(output) ;
}
alert(getValidenum(arr1,arr2));
});
問題出現時,我通過陣列添加更多的值到所述第二陣列,並試圖對循環應用的功能。的
$(document).ready(function(){
var arr1 = {"gold":"1000","iron":"2000","wood":"4500","food":"800"} ;
var arr2 = [{"gold":"100","iron":"80","wood":"120","food":"70"},{"gold":"10","iron":"20","wood":"50","food":"30"}];
Array.max = function(array){
return Math.max.apply(Math, array);
};
Array.min = function(array){
return Math.min.apply(Math, array);
};
function getValidenum(resources,cost) {
var output = [] ;
$.each(cost, function(i, item) {
output.push(Math.floor(resources.gold/item.gold)) ;
output.push(Math.floor(resources.iron/item.iron)) ;
output.push(Math.floor(resources.wood/item.wood)) ;
output.push(Math.floor(resources.food/item.food)) ;
});
return Array.min(output) ;
}
$.each(arr2, function(i, item) {
alert(getValidenum(arr1,item));
});
});
而不是顯示爲2倍的2個陣列中ARR2結果
var arr2 = [{"gold":"100","iron":"80","wood":"120","food":"70"},{"gold":"10","iron":"20","wood":"50","food":"30"}];
它顯示的NaN兩次
你應該嘗試使用'parseInt'你試圖對字符串進行操作 –