我想通過在循環結束時進行比較來打印'sum'的唯一值,但是我看到每次它執行比較時它已經移動到下一個元素,因此當它比較兩個值時,它們總是相同的。有沒有另一種方法來做到這一點?循環通過Json對象
$(document).ready(function(){
$.getJSON('XML.php', function(data) {
JSON.stringify(data);
var prevCardCode = '';
$.each(data, function(index, element){
var prevCardCode = element['CardCode'];
if (!(element['CardCode'] == prevCardCode)) {
var sum = element['payment_sum'] + '<br/>';
$('#showdata').append(sum);
}
alert(element['CardCode'] + 'compare' + prevCardCode);
});
});
});
工作正常!謝謝!你能解釋爲什麼那樣嗎? – MG1
我以爲我解釋得很好。基本上,如果包含'var'關鍵字,那麼您正在'$ .each'範圍內創建一個新變量,而不是使用父範圍中的現有變量。此外,您需要在爲下一次迭代覆蓋它之前比較該值。 –