javascript - 从 Array.prototype 方法返回数组的值

标签 javascript arrays

我有以下代码。

Array.prototype.range = function(start, count) {
  this.push(start);
  if(this.length == count){
     return this;
  };
  this.range(start+1, count)
}

它的功能在于它按照我的意图修改数组,但没有返回值。

test = new Array;
test.range(0,3);
console.log(test);

会输出[0,1,2],但是

test = new Array;
console.log(test.range(0,3));

给我未定义的。有人可以向我解释为什么“退回这个”吗?在原型(prototype)方法中实际上并不返回对象?

谢谢。

最佳答案

您需要从初始通话中返回。

return this.range(start + 1, count);

关于javascript - 从 Array.prototype 方法返回数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325599/

相关文章:

c - 当我想保护 vector 的修改时,如果我尝试使用它,为什么 const 子句不起作用?

javascript - 子组件不更新状态更改

arrays - 确定大 O : Find 4 different numbers in array summing up to S

javascript - 回调如何在 Node js中真正起作用

javascript - 如何使用 React + TypeScript 从 MobX 5 迁移到 MobX 6,而不添加具有 200% 语法噪音的臃肿代码?

java - 删除数组的相邻元素

java - 在java中将A字节转换为ASCII字符

arrays - F#中的数组初始化

javascript - AngularJS 指令 $destroy

javascript - 确定需要哪些 JavaScript/CSS 浏览器功能