在尝试一些不同的方法来生成 JavaScript 数组时,我偶然发现了一个奇怪的结果。使用自map
引用push
数组(DEMO):
a=[1,1,1,1,1,1,1,1,1,1];
a=a.map(a.push,a);
我得到以下结果(在 Chrome 中):
[13,16,19,22,25,28,31,34,37,40]
谁能解释为什么?
在尝试一些不同的方法来生成 JavaScript 数组时,我偶然发现了一个奇怪的结果。使用自map
引用push
数组(DEMO):
a=[1,1,1,1,1,1,1,1,1,1];
a=a.map(a.push,a);
我得到以下结果(在 Chrome 中):
[13,16,19,22,25,28,31,34,37,40]
谁能解释为什么?
它与push
作为新长度的返回值有关。不知道为什么它增加了 3。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/push
返回
调用方法的对象的新长度属性。