我有彼此嵌套的多个数组项,并缓存了我想调用的数据,我想知道是否有一种方法可以执行以下操作。因为我想减少我的变量总数。

 //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);

最佳答案

除了itemitemOldkey之外,您根本不需要任何变量:

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]);

09-11 07:14
查看更多