Javascript数组优化



我有多个数组项嵌套在彼此和兑现的数据我想调用,我想知道如果有一种方法,我可以做到以下。因为我想减少变量的总数。

 //function to check for change 
   function dataChange(oldData, newData){
   if(oldData > newData){
      alert('change');
     }
   }

//current code   
 var num1 = item[key]['b02'][0];
 var num2 = item[key]['b02'][1];
 var numOld1 = itemOld[key]['b02'][0];
 var numOld2 = itemOld[key]['b02'][1];
 dataChange(num1,numOld1);

//proposed code
 var num1 = ['b02'][0];
 var num2 = ['b02'][1];
dataChange(item[key].num1, itemOld[key].num1);

除了item, itemOldkey之外,您不需要任何变量:

dataChange(item[key]['b02'][0], itemOld[key]['b02'][0]);

也可以写成

dataChange(item[key].b02[0], itemOld[key].b02[0]);

但由于item[key]['b02']item[key]['b02']是对象,您也可以使用变量来引用它们,然后只使用[0][1]:

var current = item[key]['b02'];
var old = itemOld[key]['b02'];
dataChange(current[0], old[0]);

如果您总是有以下结构,您可以简单地以以下方式实现函数:

function dataChange(x, xk1, xk2, y, yk1, yk2) {
    return x[xk1][xk2] > y[yk1][yk2];
}
dataChange(item[key], 'b02', 0, itemOld[key], 'b02', 2);

最新更新