从文章:

发送一个JSON数组作为Dictionary<string,string>接收

我试图做同样的事情,因为那篇文章,唯一的问题是,我不知道什么键和值是前面。我需要动态添加键和值对,我不知道怎么做。

有人知道如何创建对象并动态添加键值对吗?

我试过了:

var vars = [{key:"key", value:"value"}];
vars[0].key = "newkey";
vars[0].value = "newvalue";

但这行不通。


当前回答

如果有人需要动态创建字典对象,可以使用下面的代码片段

让var =[{关键:“关键”,价值:“价值”},{关键:“key2”价值:“value2”}); 让dict = {} vars.map (varItem = > { dict [varItem.key] = varItem.value }) console.log(东西)

其他回答

var dictionary = {};//create new object
dictionary["key1"] = value1;//set key1
var key1 = dictionary["key1"];//get key1

很简单:

var blah = {}; // make a new dictionary (empty)

or

var blah = {key: value, key2: value2}; // make a new dictionary with two pairs 

then

blah.key3 = value3; // add a new key/value pair
blah.key2; // returns value2
blah['key2']; // also returns value2

创建键值对的一行代码怎么样?

let result = { ["foo"]: "some value" };

还有一些迭代器函数,比如reduce,可以动态地将数组转换为字典

Var选项= [ {key: "foo",值:1}, {key: "bar",值:{id: 2,名称:"two"}}, {key: "baz", value: {["active"]: true}}, ]; Var result = options。Reduce((累加器,电流)=> { 蓄电池(电流。键]= current.value; 返回蓄电池; }, {}); console.log(结果);

你可以在Map中使用地图,像这样:

var sayings = new Map();
sayings.set('dog', 'woof');
sayings.set('cat', 'meow');

在现代javascript (ES6/ES2015)中,字典应该使用Map数据结构。ES6中的Map数据结构允许您使用任意值作为键。

const map = new Map();
map.set("true", 1);
map.set("false", 0);

在你仍在使用ES5的情况下,正确的创建字典的方法是按照下面的方法创建没有原型的对象。

var map = Object.create(null);
map["true"]= 1;
map["false"]= 0;

在没有原型对象的情况下创建字典有很多优点。下面的博客值得一读。

dict-pattern

objects-as-maps