使用localstorage将数组中的对象与其索引分开

时间:2018-11-17 23:01:02

标签: javascript

我正在寻找一种将对象与数组分离的方法,只有索引可用。我有这样的东西:

     var hello= [];
     for (var i=0; incr.lenght>0; i++;)
     {

        hello+= originalarray[incr[i]].item;

       }

数组: 0:项目0 1:项目1 2:项目2 3:item3

具有此功能: hello + = originalarray [incr [0,2,3]]。item;

我知道了:item0item2item3

“ item”来自另一个数组,这只是我的代码的一小部分,但希望它足以解释我的问题。 当我创建一个警报(你好)时;我得到的是这样的项目列表:item0item1item2item3。我正在寻找一种将它们分开的方法。但是我也需要使用localStorage,并且我正在考虑为索引的每个值创建一个不同的键。希望有道理,我是新用户。非常感谢你!

1 个答案:

答案 0 :(得分:0)

首先,您遇到的for循环有几个问题:

  • 它有三个;,而语法只允许两个。您需要删除最后一个

  • 它的条件永远不会成立,因为lenght有一个拼写错误。如果更正,它将始终为真(无限循环):

    incr.length>0
    

    这应该是:

    i < incr.length
    

然后,主要问题是您应用字符串运算符(+=)来串联项目,因此hello不再是数组,而是字符串:

    hello+= originalarray[incr[i]].item;

您应该使用push

    hello.push(originalarray[incr[i]].item);

为了将hello存储在localStorage中,您不应尝试为每个项目创建密钥并单独存储每个项目。而是按照this Q&A中的说明使用JSON.stringify(用于写作)和JSON.parse(用于阅读)。