Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使其成为Angular 2中的对象数组?_Angular_Typescript - Fatal编程技术网

如何使其成为Angular 2中的对象数组?

如何使其成为Angular 2中的对象数组?,angular,typescript,Angular,Typescript,这是我的密码。几天后我就开始尝试创建一个对象数组,然后将其存储在本地存储器中。问题是,我需要首先从本地存储中获取现有值 然后,我需要将新的数据对象添加到现有数组中。然后将其转换为JSON,以便将其存储回本地存储器 onRegisterSubmit(){ const user = { a: this.a, b: this.b, c: this.c, id: Date.now() } var abc = []

这是我的密码。几天后我就开始尝试创建一个对象数组,然后将其存储在本地存储器中。问题是,我需要首先从本地存储中获取现有值

然后,我需要将新的数据对象添加到现有数组中。然后将其转换为JSON,以便将其存储回本地存储器

onRegisterSubmit(){
    const user = {
        a: this.a,
        b: this.b,
        c: this.c,
      id: Date.now()
    }    

   var abc = [];
   var get =  JSON.parse(localStorage.getItem('user'));
   abc = [get];
   abc.push(user);

   localStorage.setItem('user', JSON.stringify(abc));

   console.log(JSON.stringify(abc));
   console.log(get);
  }
我希望JSON是这样一个对象数组

[{"hour":1,"minute":21,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797882440"},{"hour":1,"minute":24,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797896257"},{"hour":6,"minute":14,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493815470408"}]
这是我的JSON

[[[[[[[{"id":1493820594019},{"id":1493820606448}],{"id":1493820609111}],{"id":1493820610150}],{"id":1493820610553}],{"id":1493820610827}],{"id":1493820611015}],{"id":1493820612018}]

请帮忙。我已经试了好几天了,任何帮助都将不胜感激。谢谢

每次调用时,您都会将值嵌套到:

abc = [get];
替换为:

abc = get;
它应该会起作用

var abc = [];
var get = JSON.parse(localStorage.getItem('user'));
abc = [get];
应替换为

var abc = JSON.parse(localStorage.getItem('user')) || [];

不要忘记执行
localStorage.deleteItem('user')
在运行更正后的代码之前,清除错误代码存储的错误数据。

以及会发生什么情况,而不是按照您的要求工作?首先,我不知道@nitin您收到了什么错误消息。这会导致一个错误,即abc.push不是一个函数。您能调试并告诉我们您得到的是什么类型吗?