相关疑难解决方法(0)

你如何JSON.stringify ES6地图?

我想开始使用ES6 Map而不是JS对象,但我被阻止了,因为我无法弄清楚如何使用JSON.stringify()一个Map.我的密钥保证是字符串,我的值将始终是列表.我是否真的必须编写一个包装器方法来序列化?

javascript json dictionary ecmascript-6

71
推荐指数
10
解决办法
3万
查看次数

如何在本地存储(或其他地方)中保留ES6地图?

var a = new Map([[ 'a', 1 ]]);
a.get('a') // 1

var forStorageSomewhere = JSON.stringify(a);
// Store, in my case, in localStorage.

// Later:
var a = JSON.parse(forStorageSomewhere);
a.get('a') // TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

不幸的是JSON.stringify(a);简单地返回'{}',这意味着当恢复时它变成一个空对象.

我发现es6-mapify允许在Map和普通对象之间进行向上/向下转换,因此这可能是一个解决方案,但我希望我只需依靠外部依赖来持久保存我的地图.

javascript json dictionary ecmascript-6

61
推荐指数
5
解决办法
1万
查看次数

Array.push()和唯一项

我有一个简单的例子,将唯一值推送到数组中.它看起来像这样:

  this.items = [];

  add(item) {
    if(this.items.indexOf(item) > -1) {
      this.items.push(item);
      console.log(this.items);
    }
  }
Run Code Online (Sandbox Code Playgroud)

看起来挺直截了当,对吧?不,看起来如此.它不会添加任何值.我确信这是我身上某种愚蠢的错误,但我似乎无法找到它.

javascript

34
推荐指数
8
解决办法
5万
查看次数

标签 统计

javascript ×3

dictionary ×2

ecmascript-6 ×2

json ×2