如何初始化"数组a"包含"数组b"包含"数组a"

时间:2017-12-14 18:06:54

标签: javascript arrays javascript-objects

我需要创建两个数组,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)}

1 个答案:

答案 0 :(得分: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]);

我希望这适合你。