我有一种情况,我有对象数组......
array[0] = {key:value,key1:value}
array[1] = {key:value,key1:value}
array[2] = {key:value,key1:value}
array[3] = {key:value,key1:value}
现在我想将array [0]与另一个对象{key,value}
数组关联,让我们把newArray[0] 's {key,value}
我的array[0]
有自己的key,value
集,并且还指向另一个对象的键值,它可以更改。
更新:
array [0]有其原始键,值以及另一个键,来自不同对象的值...所以我的array[0] object has two key,value...
答案 0 :(得分:1)
您只需添加第二个键即可。
array[0].key2 = object2
如果我已正确理解你的问题。
答案 1 :(得分:1)
你的意思是:
array[0] = [array[0], newArray[0]]
这将生成一个对象数组。旧的和新的。
很难理解你想要做什么。
答案 2 :(得分:1)
在一个对象中,“key”只是一个命名属性,它不是对任何东西的引用。您无法更改属性的名称,您可以做的就是创建一个具有不同名称的属性,将第一个属性的值分配给第二个属性,然后删除第一个属性,例如
function reNameProperty(obj, prop0, prop1) {
obj[prop1] = obj[prop0];
delete obj.prop0;
}
但似乎没有太多意义。我认为你想做的是:
var obj0 = {p: 'value};
var arr = [obj0, obj0];
因此arr [0]和arr [1]都引用相同的对象。如果有人改变:
var arr[0] = {q: 'different value');
然后某种方式arr [1]也将引用这个新对象。
如果您创建一个函数来设置 arr [0] 的值,并且它以某种方式知道哪些其他数组成员应该引用同一个对象,则只能这样做。
答案 3 :(得分:1)
你想要这样的东西吗?
var arrayA=[];
arrayA[0] = {key:1,keyB:"key3"}
var arrayB=[];
arrayB[0] = {key3:"Hello"}
arrayB[0][arrayA[0]["keyB"]]="Bye";
alert(arrayB[0].key3);