jQuery each: 在键名中使用变量

jQuery each: Use a variable in a key name

我有一个函数可以通过 AJAX 以 JSON 格式检索一些数据,我正在执行一个 $.each 循环来处理数据。我现在正在做的是这样的:

$.each(result, function(i, field){
    window.localStorage[cumple1LAC] = field.cumple1LAC;
    window.localStorage[cumple2LAC] = field.cumple2LAC;
    window.localStorage[cumple3LAC] = field.cumple3LAC;
    window.localStorage[cumple4LAC] = field.cumple4LAC;
    window.localStorage[cumple5LAC] = field.cumple5LAC;
    ....
    ....
    ....
});

因此,除了数字 ID 外,大多数键都是相同的。在使用检索到的数据时,我正在做这样的事情:

for (i=1;i<=numItems;i++){
    var cumple = window.localStorage['cumple'+i+'LAC'];
    $('input[name=cumple'+i+'LAC]').val([cumple]);
}

因为有很多项目,我想在 $.each 循环中遍历 id,以类似于我在 for 循环中所做的方式,以避免数百个代码行(我已经编码了,但是在维护方面这很麻烦)。有可能吗?我不想使用数字索引来访问检索到的数组中的数据,我想坚持使用键值对。

您可以将 field 对象视为字典并使用 属性 名称:

for (var key in field) {
  window.localStorage[key] = field[key];
}

JSfiddle: https://jsfiddle.net/TrueBlueAussie/rzth3hm5/