用jQuery map函数重写这段代码

时间:2011-12-12 09:01:57

标签: jquery map

我正在使用jquery.cookies.js创建一个存储在cookie中的数组 以下是我存储和访问数组值

的方式
var th = $(this);
var TempRecord = []; // Defining an Array to store all attributes 
var Q = th.find('Name').first().text();
var NR = th.attr('NotReq');
var FieldWidth = th.attr('FWidth');

将元素推入像这样的数组

if(th.attr('FieldWidth'))
{
    TempRecord.push("Field Width");
    TempRecord.push(FieldWidth);
}

然后按如下方式连接数组,以字符串形式存储在数组中

var temp = TempRecord.join('splitter'); Then storing into cookie...

// Like the above I am storing all the other attribute values  

如下所示访问它们

var rec = temp.split('splitter');
for(var i=0;i<rec-1;i=i+2)
{
   var x = rec[i];
   var y = rec[i+1];
}

请建议我改进上述代码的方法。还请记住,我将把它存储在cookie中。

1 个答案:

答案 0 :(得分:0)

您可以使用JSON来序列化您的数据,例如:

var tempRecord = [];
if (th.attr("FieldWidth")) {
    tempRecord.push({
        fieldWidth: _fieldWidth
    });
}

var temp = JSON.stringify(tempRecord);

然后再把它拿出来:

var rec = JSON.parse(valueFromCookie);

为了确保JSON.parse()JSON.stringify()的跨浏览器兼容性,您需要包含json2.js