【问题标题】:How to filter every element except first in an array? JS如何过滤数组中除第一个元素之外的每个元素? JS
【发布时间】:2021-07-19 21:01:50
【问题描述】:

我有一个如下所示的二维数组:

numbers = [[], [1,2,4], [], [1,2,6], []];  //Not always the same

是否可以使用prototype.filter() 来擦除每个空数组,除了索引中的第一个数组(数字[0])?到目前为止,还没有找到答案。

如果没有,我应该使用 for 循环还是有另一个我不知道的原型函数?

【问题讨论】:

  • 您是否只想不删除numbers[0] 或不删除第一个空数组?如果是这样,为什么不将其完全从数组中取出并将其用作单独的变量。
  • 希望不删除数字[0]!已经解决了。还是谢谢!

标签: javascript arrays for-loop filter prototype


【解决方案1】:

这应该可以解决问题

numbers.filter((subArray, index) => subArray.length > 0 || index === 0);

【讨论】:

  • 等待不应该是!= 0 吗?
  • 这成功了!非常感谢。尽可能接受答案!
  • @tblev 他还想包含数组的第一个元素 != 0 你排除它
【解决方案2】:

为什么不过滤每个空数组,然后再将第一个数组添加回来?

// Filter for only arrays with lengths greater than 0
myArray.filter(subArray=> subArray.length > 0);
// Add an empty array to the beginning of the array
myArray.unshift([]);

【讨论】:

  • 哈哈我的评论点在同一件事上:)
  • 围绕这个代码处理数据:-p
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多