【问题标题】:How do I loop through an array in javascript to get a new array whose length is not greater than 4?如何在javascript中循环遍历数组以获取长度不大于4的新数组?
【发布时间】:2025-12-21 00:15:12
【问题描述】:

我有这个数组,它的长度可以是任意数字,但不小于 4。如何循环遍历这个数组以获得长度不大于 4 的新数组?我尝试使用 filter 方法,但它返回一个空数组。

这是我的尝试:

// array could be of any length but not less than 4.
const projects = [
  'landing page',
  'portfolio page',
  'e-commerce app',
  'Dapps',
  'signup page',
  // ... even more
];

const newProjects = projects.filter((project, index, array) => {
  return project[index <= 4]
})

console.log(newProjects);

【问题讨论】:

    标签: javascript arrays reactjs loops filter


    【解决方案1】:

    纠正了你的方法;

    const projects = ['landing page', 'portfolio page', 'e-commerce app', 'Dapps', 'signup page',.....] // array could be of any length but not less than 4
    
    const newProjects = projects.filter((project, index, array) => {
      return index < 4;
    })
    
    console.log(newProjects);
    

    请记住,Array 具有从零开始的索引。

    建议的解决方案:

    const newProjects = projects.slice(0,3);
    

    【讨论】:

    • 感谢使用过滤方法的解决方案有效
    • @IharDziamidau ...你知道how the end parameter of slice works吗?在批评其他开发人员的方法之前测试您自己的代码 (...projects.slice(0,3) ...)。
    【解决方案2】:

    您可以简单地使用slice()

    const projects = ['landing page', 'portfolio page', 'e-commerce app', 'Dapps', 'signup page'];
    
    console.log(projects.slice(0,4));

    Slice 返回现有数组的一部分而不修改它。

    【讨论】:

    • 长度不大于4!切片 0,3
    • @IharDziamidau ...不。