我正在寻找一种将对象与数组分离的方法,只有索引可用。我有这样的东西:
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,并且我正在考虑为索引的每个值创建一个不同的键。希望有道理,我是新用户。非常感谢你!
答案 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
(用于阅读)。