【发布时间】:2016-12-09 14:35:13
【问题描述】:
我有一个函数可以通过 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 循环中所做的方式,以避免数百行代码(我已经编码了,但是在维护方面,这很麻烦)。有可能吗?我不想使用数字索引来访问检索到的数组中的数据,我想坚持键值对。
【问题讨论】:
-
你试过了吗:
window.localStorage["cumple" + i + "LAC"] = field["cumple" + i + "LAC"];? -
如果您要这样存储它们,为什么还要麻烦
cumpleXLAC?只需按索引将它们存储在单个数组中 -
由于您似乎一直在访问所有值,因此将数据转换为 Json 字符串并存储单个本地存储值。读取时反序列化以取回数据。
-
@freedomn-m 一定要试试!
-
@RoryMcCrossan 这是我公司内部应用程序的一部分,有很多数据,所以我不能只使用索引,我需要保留键:值对结构。它必须将值保存在 localStorage 中才能离线工作,因此不能选择数组。不过谢谢。