["1. hello", "2. hi", "3. hey"] 这是我的代码: Arr-6ren">
gpt4 book ai didi

javascript - 对数组元素进行编号的函数输出 "undefined"

转载 作者:行者123 更新时间:2023-12-04 02:24:40 27 4
gpt4 key购买 nike

我想对数组中的每个项目进行编号,如下所示:

["hello", "hi", "hey"].number()
> ["1. hello", "2. hi", "3. hey"]

这是我的代码:

Array.prototype.number = function () {
var tempNum = this;
for (i in this) {
tempNum[i] = tempNum[(i + 1)] + ". " + tempNum[i]
}
return tempNum;
}

但这是输出:

["hello", "hi", "hey"].number()
> ["undefined. hello", "undefined. hi", "undefined. hey"]

为什么?我应该如何实现它以及为什么我的代码不起作用?

最佳答案

我想你想要这样的东西:

for(var i=0, len = this.length; i<len; i++){
tempNum[i] = (i + 1) + ". " + tempNum[i];
}

当您不应该在等式的右边时,您正在使用 tempNum。你变得“未定义”的原因是因为在你当前的等式中的某个点你得到一个超出数组长度的索引。

关于javascript - 对数组元素进行编号的函数输出 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897163/

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