【问题标题】:I want to get array using given min , max range我想使用给定的 min , max 范围获取数组
【发布时间】:2022-11-16 17:44:32
【问题描述】:

我想获得一个以最小值开头并以最大值结尾的输出数组 => [5,6,7,8,9,10]

但是我在新数组中只得到最小值 => [5]。为什么会这样?

function arrayFromRange(min , max){
    const newArray = [];

    for( let x = min ; x <= max; x++ ){
      newArray.push(x);
      return newArray;
    }
}
const newarray1 = arrayFromRange(5,10);

console.log(newarray1);

【问题讨论】:

  • 因为你很早就returning(在你的循环内而不是在循环外)。在你的循环之外移动 return newArray; 行,你的函数将工作:)
  • 你在循环内返回,所以第一次迭代函数将退出,下一次迭代将永远不会开始
  • 这回答了你的问题了吗? For loop in JS only returns first value?

标签: javascript arrays range push


【解决方案1】:

你还你的newArray里面for 循环,只添加了第一项,在本例中为 5。

解决方案是将返回移出 for 循环,即

function arrayFromRange(min , max){
    const newArray = [];

    for( let x = min ; x <= max; x++ ){
      newArray.push(x);
    } //                             <--swap these
    return newArray; //              <-- two lines
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2021-08-17
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多