我有彼此嵌套的多个数组项,并缓存了我想调用的数据,我想知道是否有一种方法可以执行以下操作。因为我想减少我的变量总数。
//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
,itemOld
和key
之外,您根本不需要任何变量:
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]);