以javascript中有用的格式检索所有localstorage数据
我正在做一个uni赋值,我要做的部分要求我从多个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; 现在我可能有多个,我需要取几个,主要是最后的数字,然后用其他字符串中的可变数量的其他值来添加它们,我的头撞到
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小时内完成