相关疑难解决方法(0)

JavaScript中的Map vs Object

我刚刚发现了chromestatus.com,在我失去了几个小时之后,发现了这个功能条目:

地图:地图对象是简单的键/值映射.

那让我困惑.常规的JavaScript对象是字典,所以Map与字典有什么不同?从概念上讲,它们是相同的(根据 地图和字典之间的区别是什么?)

文档chromestatus引用也没有帮助:

映射对象是键/值对的集合,其中键和值都可以是任意ECMAScript语言值.不同的键值只能出现在Map集合中的一个键/值对中.使用在创建Map时选择的比较算法区分不同的键值.

Map对象可以按插入顺序迭代其元素.必须使用散列表或其他机制来实现Map对象,这些机制平均提供对集合中元素数量的次线性访问时间.此Map对象规范中使用的数据结构仅用于描述Map对象所需的可观察语义.它不是一个可行的实施模型.

...对我来说仍然听起来像是一个对象,显然我错过了一些东西.

为什么JavaScript获得(受到良好支持的)Map对象?它有什么作用?

javascript dictionary ecmascript-6

242
推荐指数
11
解决办法
7万
查看次数

JSON字符串化一个Set

如何将一个JSON.stringify()

在Chromium 43中无效的事情:

var s = new Set(['foo', 'bar']);

JSON.stringify(s); // -> "{}"
JSON.stringify(s.values()); // -> "{}"
JSON.stringify(s.keys()); // -> "{}"
Run Code Online (Sandbox Code Playgroud)

我希望得到类似于序列化数组的东西.

JSON.stringify(["foo", "bar"]); // -> "["foo","bar"]"
Run Code Online (Sandbox Code Playgroud)

javascript json ecmascript-6

75
推荐指数
3
解决办法
2万
查看次数

如何在本地存储(或其他地方)中保留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万
查看次数

如何在Angular 2中发布JSON?

我不明白我做错了什么,当我尝试获取json时,我的服务器返回"undefined".

POST(url, data) {
        var headers = new Headers(), authtoken = localStorage.getItem('authtoken');
        headers.append("Content-Type", 'application/json');

        if (authtoken) {
        headers.append("Authorization", 'Token ' + authtoken)
        }
        headers.append("Accept", 'application/json');

        var requestoptions = new RequestOptions({
            method: RequestMethod.Post,
            url: this.apiURL + url,
            headers: headers,
            body: data
        })

        return this.http.request(new Request(requestoptions))
        .map((res: Response) => {
            if (res) {
                return { status: res.status, json: res.json() }
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

我的功能:

login(username, password) {
        this.POST('login/', {test: 'test'}).subscribe(data => {
            console.log(data)
        })
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,请求体看起来像这样:

在此输入图像描述

因此,它不是发送实际的json,而是发送"[object Object]".它不应该是"请求有效载荷",而应该是"JSON".我究竟做错了什么?

rest typescript angular

26
推荐指数
2
解决办法
9万
查看次数

问题使用node.js将JSON上传到s3

我是亚马逊s3的新手,我正在尝试使用node.js将JSON上传到文件中.我的目标是users,它有一堆键和值.以下是我上传的方式:

 s3.putObject({Bucket: 'currenteventstest',Key: 'users.json',Body: users, ContentType: "application/json"});
Run Code Online (Sandbox Code Playgroud)

但是,当我下载它时,它只是一个空对象.

javascript json amazon-s3 node.js

6
推荐指数
2
解决办法
9137
查看次数