0

我正在做一个 uni 分配,我要做的部分要求我从多个本地存储键中提取数据并以各种方式编译它们(基本上将它们加在一起。)我已经从表单中获取数据作为数组存储在以下格式

testname;testcompany;6192742222;email@email.com;1 John St;;Bellevue;6056; ;5;10;20.00;44;64.00;6.40;70.40;

现在我可能有多个这些,我需要取其中一些,主要是最后的数字,并将它们与来自其他字符串的可变数量的其他值相加,我正撞在墙上试图弄清楚它出去。

也因为这是一个我不能使用的单一任务jqueryJSON或者任何基于服务器的软件。

编辑:在做了下面建议的事情之后,我仍然遇到问题,我也无法在评​​论部分正确格式化代码,所以我想我会把它放在这里。

window.onload = getAllItems();

function getAllItems() {
    var i = 0;
    var lslength = localStorage.length-1;
    for (i = 0; i <= lslength; i++) {
        var itemKey = localStorage.key(i);
        var values = localStorage.getItem(itemKey);
        var values2 = values.split(";"); 

        function extract(values2) {
  var result = {};
  result.name = values2[0];
  // ...
  result.email = values2[3];
  // ...
  return result;
}}}
4

1 回答 1

0

如果存储的值的格式localStorage总是这样

testname;testcompany;6192742222;email@email.com;1 John St;;Bellevue;6056; ;5;10;20.00;44;64.00;6.40;70.40;

那么你可以做

// suppose you retrieved that String from localStorage and have it in 
// a variable called data
var dataArray = data.split(';');

然后您可以编写一个函数,将数组中的位置映射到对象的名称,以便以后更容易操作它,例如:

function extract(arrayData) {
  var result = {};
  result.name = arrayData[0];
  // ...
  result.email = arrayData[3];
  // ...
  return result;
}
于 2013-05-18T21:08:55.103 回答