Javascript对象文字 - 可以添加重复键吗?

Vil*_*oja 4 javascript

在javascript中,是否可以在对象文字中添加重复键?如果是,那么在首次创建对象后如何实现它.

例如:

exampleObject['key1'] = something;
exampleObject['key1'] = something else;
Run Code Online (Sandbox Code Playgroud)

如何在不覆盖第一个key1的情况下添加第二个key1?

Nic*_*son 7

不,这是不可能的.它与:

exampleObject.key1 = something;
exampleObject.key1 = something else; // over writes the old value
Run Code Online (Sandbox Code Playgroud)

我认为这里最好的事情是使用一个数组:

var obj = {
  key1: []
};

obj.key1.push("something"); // useing the key directly
obj['key1'].push("something else"); // using the key reference

console.log(obj);

// ======= OR ===========

var objArr = [];

objArr.push({
  key1: 'something'
});
objArr.push({
  key1: 'something else'
});

console.log(objArr);
Run Code Online (Sandbox Code Playgroud)


hsz*_*hsz 5

您不能复制密钥。您可以在key1键下获取值并手动附加值:

exampleObject['key1'] = something;
exampleObject['key1'] = exampleObject['key1'] + something else;
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用数组:

exampleObject['key1'] = [];
exampleObject['key1'].push(something);         
exampleObject['key1'].push(something else);
Run Code Online (Sandbox Code Playgroud)