gpt4 book ai didi

javascript - 数组原型(prototype)转发器函数错误行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:43 26 4
gpt4 key购买 nike

我有这个简单的乐趣:

Array.prototype.arrayRepeat = function(value, times) {  
for (var x=0;x<times;x++) this[x]=value;
}

然后我有:

var errs=[];
errs.arrayRepeat([],10);

当我向项目 3 添加新值时(例如)

errs[3].push ("hello")

我看到 10 个“错误”项如何具有“你好”值。

我不明白为什么。任何帮助将不胜感激。

编辑:

我想要一个数组数组。我将“hello”添加到 errs[3],因为我想要:errs[3]= ["hello"]。稍后也许我想要:errs[3]=["hello","good-bye"],所以我写 errs[3].push("goodbye");

最佳答案

您需要将 arrayRepeat 函数修改为如下所示:

Array.prototype.arrayRepeat = function(value, times) {  
for (var x=0; x < times; x++) this[x] = value.slice();
}

关于javascript - 数组原型(prototype)转发器函数错误行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com