获取数组中的localstorage值

时间:2017-08-31 09:27:12

标签: javascript angular typescript

我正在localstorage中保存值,如下所示

key = profskill,value =“a,b,c”

我的test.ts文件,我已声明数组但我无法获取结果,代码如下所示 -

 getskills: Array<string> = [];
this.getskills  = localStorage.getItem("profskill");

但这是错误的 -

  

类型'string'不能分配给'string []'

请帮助,我想获取这样的价值 - console.log(this.getskills[0]);

3 个答案:

答案 0 :(得分:3)

因为,您希望逗号分隔值表示为this.getskills使用split的{​​{1}}

值的字符串数组

以下是示例

&#13;
&#13;
localStorage
&#13;
&#13;
&#13;

答案 1 :(得分:2)

LocalStorage只能存储字符串,而不能存储对象或数组。如果您尝试存储数组,它将自动转换为字符串。您需要将其解析回数组:

JSON.parse( localStorage.getItem("profskill") )

答案 2 :(得分:1)

localStorage仅支持字符串。使用JSON.stringify()设置存储中的数据,使用JSON.parse()从存储中获取数据,然后使用split(",")拆分逗号分隔数据。

var obj = "a,b,c";
localStorage.setItem("profskill", JSON.stringify(obj));

var getskills = [];

getskills = JSON.parse(localStorage.getItem("profskill")).split(",");

console.log(getskills[0]);