【发布时间】:2015-05-27 07:15:24
【问题描述】:
我正在尝试使用数组进行解释,但我遇到了这种奇怪现象。我在控制台中这样做了:
var x = ['Paul Irish', 'Alex Sexton', 'Nicholas Zakas'],
y = x,
z = y;
y[1] = x[0]; // we're trying to switch Alex with Paul
z[2] = y[0]; // we're trying to switch Nick with Paul
x[2] = x; // whoops a typo
并在每个内部键 2 中创建了无限数组。
// ["Paul Irish", "Paul Irish", Array[3]]: // infinite arrays
然后我为其中一个 MD 值分配了另一个名称:
x[2][2][2] = 'Jenn Schiffer';
但没想到会这样:
x[2][2][2] // undefined
x[2][2][1] // undefined
x[2][2][0] // n
x[2][2] // n
x[2][1] // e
x[2][0] // J
x[2] // Jenn Schiffer
x[1] // Paul Irish
x[0] // Paul Irish
我无法解释这些结果,(在最新的 Chrome 和 FF 上测试)。 分配的字符串如何成为分散到其他键中的数组?
【问题讨论】:
标签: javascript arrays object multidimensional-array