如何初始化包含“array a”的“array a”包含“array a”

问题描述 投票:0回答:1

我需要创建两个数组,Array A和Array B,Array A需要包含Array B,反之亦然。问题是对象栏在对象foo之后被初始化,因此foo.arrayA [0]的值是未定义的。有没有办法在没有动态设置foo.arrayA [0]的值后加载所有内容?

var skra = {
    arrayX: [foo, bar]
};

var foo = {
    arrayA: [bar, skra]
};

var bar = {
    arrayB: [foo, skra]
};
console.log(foo.arrayA[0]);
console.log(bar.arrayB[0]);

输出:

undefined
{arrayA: Array(2)}
javascript arrays javascript-objects
1个回答
0
投票
var bar = {};
var skra = {
    arrayX: [foo, bar]
};

var foo = {
    arrayA: [bar, skra]
};

Object.assign(bar, {
    arrayB: [foo, skra]
});
console.log(foo.arrayA[0]);
console.log(bar.arrayB[0]);

我希望这适合你。

© www.soinside.com 2019 - 2024. All rights reserved.