离子存储将预期数组作为字符串返回

Posted

技术标签:

【中文标题】离子存储将预期数组作为字符串返回【英文标题】:Ionic storage is returning expected array as a string 【发布时间】:2020-03-26 00:44:21 【问题描述】:

我正在存储中存储 ID。

参见示例:

我将存储存储到本地字符串 [];

问题是当我尝试将新 ID 推送到存储时。

  addIdToDontShowList(id: string): Promise<any> 
    return this.storage.get(DONT_SHOW).then((ids: string[]) => 
      if (ids) 
        console.log('ids', ids);
        ids.push(id);
        return this.storage.set(DONT_SHOW, ids);
       else 
        return this.storage.set(DONT_SHOW, id);
      
    );
  

我收到一个错误,提示方法 push 在 ID 上不存在。

ERROR 错误:未捕获(承诺中):TypeError:ids.push 不是函数 TypeError: ids.push 不是函数

如何将 ids 转换为字符串 [] 以便在再次设置存储之前将新项目推送到 ids?

【问题讨论】:

【参考方案1】:

我通过对存储和数组进行初始提交来解决此问题。

而不是返回 this.storage.set(DONT_SHOW, id); 我将 id 存储到数组中并使用数组进行设置。

【讨论】:

以上是关于离子存储将预期数组作为字符串返回的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将javascript数组存储在json中? [复制]

TypeError:预期的字符串,但收到数组邮递员

将字符串数组存储在类成员函数中并返回

Java - 将字节数组作为字符串存储在数据库中,并使用字符串值创建字节数组

C ++,将数组作为字符串返回的函数

将 Java 结果集转换为字符串数组