从文章:

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

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

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

我试过了:

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

但这行不通。


当前回答

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

其他回答

你可以像这样初始化字典

var vars = {
"key1": "Search",
"key2": "View"
};

像这样访问它

console.log(vars["key1"]);

既然你已经声明,你想要一个字典对象(而不是一个数组,像我假设一些理解),我认为这是你想要的:

var input = [{key:"key1", value:"value1"},{key:"key2", value:"value2"}];

var result = {};

for(var i = 0; i < input.length; i++)
{
    result[input[i].key] = input[i].value;
}

console.log(result); // Just for testing

很简单:

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

你可以创建一个类Dictionary,这样你就可以轻松地与Dictionary列表交互:

类字典{ 构造函数(){ 这一点。Items = {}; } (关键){ 在this.items中返回键; } 集(关键字,值){ 这一点。项目[key] = value; } 删除(关键){ If (this.has(key)){ 删除this.items(例子) 返回true; } 返回错误; } } var d = new Dictionary(); d.set(“value1”) “value2 d.set (2) d.set(3,“value3”) console.log (d.has (2)); d.delete (2); console.log (d.has (2));

JavaScript的Object本身就像一个字典。没有必要重新发明轮子。

var dict = {};

// Adding key-value -pairs
dict['key'] = 'value'; // Through indexer
dict.anotherKey = 'anotherValue'; // Through assignment

// Looping through
for (var item in dict) {
  console.log('key:' + item + ' value:' + dict[item]);
  // Output
  // key:key value:value
  // key:anotherKey value:anotherValue
}

// Non existent key
console.log(dict.notExist); // undefined

// Contains key?
if (dict.hasOwnProperty('key')) {
  // Remove item
  delete dict.key;
}

// Looping through
for (var item in dict) {
  console.log('key:' + item + ' value:' + dict[item]);
  // Output
  // key:anotherKey value:anotherValue
}

小提琴