聚合对象的代码在浏览器之间有不同的结果

时间:2014-03-14 20:32:56

标签: javascript

我有一组具有随机行和大小属性的对象:

var array = [{ row:1, size: 2 },{ row:1, size 1 },{ row:1, size: 2 },{ row:2, size:1 },{ row:2, size:1 },{ row:2, size:2 }]

注意:尺寸:1 = 1行,尺寸:2 = 2行

我需要遍历每个对象并处理行数和大小计数以得出总行数。所以,我写了这个:

// Attempt to save larges size values for each row
    var rowHeightsObj = {};
    for (var i = 0; i < array.length; i++) {
      if(!rowHeightsObj[array[i].row]) { rowHeightsObj[array[i].row] = 0 };
      if( rowHeightsObj[array[i].row] < array[i].size ) {  rowHeightsObj[array[i].row] = array[i].size };
    };

// If A previous Row is sized 2 than make that previous row 0
    for (var key in rowHeightsObj) {
      if (rowHeightsObj[key - 1] == 2) {
          rowHeightsObj[key] = 0
      };
    };

// Collect the total row height 
    rowHeightsTotal = 0;
    for (var key in rowHeightsObj) {
      rowHeightsTotal = rowHeightsTotal + rowHeightsObj[key] 
    };

但我在Chrome,Firefox和Safari上获得了不同的rowHeightsTotal。这是为什么?

0 个答案:

没有答案