首页 > 解决方案 > javascript中真实值数组的数组

问题描述

我有一个这样的数组

const a = [false, true, true, false, true, false, false, false, true, true, false, true, true, true]

我希望false删除这些值,结果应该看起来像trues序列

[[true, true], [true], [true, true], [true, true, true]]

有人可以帮助解决这个问题吗?

标签: javascript

解决方案


您可以尝试减少和过滤

const a = [false, true, true, false, true, false, false, false, true, true, false, true, true, true]
const b = a.reduce((acc,cur) => {
  if (cur === false) acc.push([]); // add a new empty array
  else acc[acc.length-1].push(cur); // push the true 
  return acc;
},[]).filter(item => item.length != 0)
console.log(b)


推荐阅读