我正在尝试使用for循环将数组的成员添加回自身.
为什么此代码导致无响应的脚本?
var magicarray = {
arraymemeber: [1, 2, 3, 4, 5],
duplicate: function () {
for (var i = 0; i < this.arraymemeber.length; i++) {
this.arraymemeber.push(this.arraymemeber[i]);
};
}
};
console.log(magicarray.duplicate());
Run Code Online (Sandbox Code Playgroud)
虽然我不确定你为什么要这样,但为了避免一个无限循环,你现在已经获得了长度并且仅在数组的原始长度上进行迭代.
var magicarray = {
arraymemeber: [1,2,3,4,5],
duplicate: function() {
var length = this.arraymemeber.length;
for (var i = 0; i < length; i++) {
this.arraymemeber.push(this.arraymemeber[i]);
};
}
};
console.log(magicarray.duplicate());
Run Code Online (Sandbox Code Playgroud)