【问题标题】:Return items from array with index 1 to 5 Javascript从索引为 1 到 5 Javascript 的数组中返回项目
【发布时间】:2020-06-29 01:06:33
【问题描述】:

如何 console.log 当前数组中索引 1 到 5 的项目?使用循环

let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"]

const mappedCars=cars.map((item, i) => {
    console.log("The current index is: " + i);
    console.log("The current element is: " + item);
    console.log("\n");
    return item; //equivalent to list[index]
});

console.log(mappedCars);

【问题讨论】:

  • 从索引 1 到 5 应该是 cars.slice(1,6)
  • 任务要求我循环执行
  • 如果你必须使用循环,你需要创建一个空数组,遍历你想要的索引并将条目推送到新数组中
  • 您的问题是 “我如何 返回 项...” 这与 console.log() 完全不同。您应该始终考虑代码的边界条件。请edit your question准确描述您正在尝试做什么以及在不利条件下会发生什么
  • for(var i=1; i<=Math.min(5, cars.length-1); i++) console.log("Index="+i+" Value="+cars[i]); 如果少于两辆车,则无输出。如果少于 6 辆,则产量将少于 5 辆。

标签: javascript


【解决方案1】:

使用 for 循环:

let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"]

for(i = 1; i<cars.length; i++){
    console.log("The current index is: " + i);
    console.log("The current element is: " + cars[i]);
    console.log("\n");
};

【讨论】:

    【解决方案2】:

    使用for loop,您可以定义初始条件以及循环终止条件。

    for ([initialExpression]; [condition]; [incrementExpression])
     statement
    
    let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"]
    
    const updated = [];
    for (let i=1; i<=5; i++) {
            updated.push(cars[i]);
    }
    
    console.log(updated);
    
    

    【讨论】:

      【解决方案3】:

      要在索引 1 到 5(含)的 循环 中执行此操作:

      let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"]
      
      const filteredCars = [];
      for (let i=1; i<=5; i++) {
              filteredCars.push(cars[i]);
      }
      
      console.log(filteredCars);

      如果没有循环,您也可以使用filter()slice()。请参阅filter() 的示例:

      let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"]
      
      const filteredCars=cars.filter((item, i) => i>=1 && i<=5);
      
      console.log(filteredCars);

      【讨论】:

      • 非常感谢
      • 你为什么要执行不必要的迭代。 for (let i = 1; i &lt;=5; i++) 似乎更合适
      • 已编辑 - 谢谢
      【解决方案4】:

      您可以使用forEach 来做到这一点:

      let cars = ["AUDI","BMW","LEXUS","VOLKSWAGEN","FERRARY","PORSCHE"];
      
      function repea (element, index) {
        console.log(`The current index is: ${index}`);
        console.log(`The current element is: ${element}`);
      }
      
      
      cars.forEach(repea);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 2021-08-01
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        相关资源
        最近更新 更多