为什么我在本地存储中不能给键名“ 1”?

时间:2019-06-26 14:08:38

标签: javascript

我想将键名设置为“ 1”,但不起作用。

我想在本地存储中使用键“ 1”传递这样的字符串,例如

1:["name":"kalidas"]
var array = [];
t = "kalidas";
t1 = "array";
if (localStorage.getItem("1") === null) {
  a = [
    {
      name: t,
    },
  ];
  localStorage.setItem("1", JSON.stringify(a));
  array = JSON.parse(localStorage.getItem("1"));
} else {
  array = JSON.parse(localStorage.getItem("1"));
  a = {
    name: t,
  };
  array.push(a);
  localStorage.setItem("1", JSON.stringify(array));
}

我总是得到的输出是存储空间

{1: "1", length: 1}

但是,如果我更改密钥名称,它会很好地工作。

2 个答案:

答案 0 :(得分:2)

insert into可以正常工作。

是的,您的代码的响应将是

insert into

如果您查看localStorage.setItem('1', 'Some String here')这样的存储空间,将会得到

[{…}]
   0: {name: "kalidas"}
   length: 1

是真的

但是,如果您尝试通过密钥即console.log(localStorage)来获取存储的数据,则会得到有效的响应

Storage {1: "1", length: 1}
   1: "1"
   length: 1

答案 1 :(得分:0)

您可以编写一个简单的包装程序,该包装程序始终将内容往返于JSON:

search.php