Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以javascript中有用的格式检索所有localstorage数据_Javascript_Arrays_Local Storage - Fatal编程技术网

以javascript中有用的格式检索所有localstorage数据

以javascript中有用的格式检索所有localstorage数据,javascript,arrays,local-storage,Javascript,Arrays,Local Storage,我正在做一个uni赋值,我要做的部分要求我从多个localstorage键中提取数据,并以各种方式编译它们(基本上是将它们添加到一起)。我已将表单中的数据存储为以下格式的数组 testname;testcompany;6192742222;email@email.com;1 John St;;Bellevue;6056; ;5;10;20.00;44;64.00;6.40;70.40; 现在我可能有多个,我需要取几个,主要是最后的数字,然后用其他字符串中的可变数量的其他值来添加它们,我的头撞到

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

testname;testcompany;6192742222;email@email.com;1 John St;;Bellevue;6056; ;5;10;20.00;44;64.00;6.40;70.40;
现在我可能有多个,我需要取几个,主要是最后的数字,然后用其他字符串中的可变数量的其他值来添加它们,我的头撞到墙上,试图找出答案

另外,由于这是一个uni分配,我不能使用
jquery
JSON
或任何基于服务器的软件

编辑:在做了下面建议的事情之后,我仍然有问题,而且我一生都无法在评论部分正确格式化代码,所以我想我会把它放在这里

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;
}}}
window.onload=getAllItems();
函数getAllItems(){
var i=0;
var lslength=localStorage.length-1;

对于(i=0;i如果存储在
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;
}

感谢alberto,所以假设我有5个字符串以完全相同的格式存储在localstorage中,并且希望检索它们并将它们放在一起(即数字),这样我就可以将它们的格式组合在一起,我将如何进行呢?要检索元素,您需要执行
localstorage.getItem(键)
,我不清楚“加起来”是什么意思,特别是在电子邮件的情况下。对不起,伙计,我要澄清一下。我想要的主要部分是;5;10;20.00;44;64.00;6.40;70.40;这些是模拟公司的成本和价格,现在,当公司创建每日报告时,他们想要将所有数据相加,其中一个可能是用于税收,因此需要将每个字符串的相同部分相加以创建是的,一旦你写了
extract
,这很容易,你只需将结果存储在一个变量中,比如
result
,然后执行
result.tax
。接下来你只需要对每个对象执行此操作,并对类似的值求和。嘿,对不起,打扰你了,我尝试过使用你的代码,但似乎不起作用,如果您不介意快速查看下面的内容,并告诉我我在哪里塞的话,
window.onload=getAllItems();函数getAllItems(){var i=0;var lslength=localStorage.length-1;用于(i=0;我知道不使用jQuery,但不使用JSON?这似乎是一个完美的使用案例,它实际上比localStorage有更好的支持。我同意,如果我可以使用JSON,我会非常容易,但强大的力量决定了我们不能,但是如果最坏的情况出现,我无论如何都会这样做,尤其是在评估失败的情况下在16小时内完成