javascript - es6 数组返回满足特定条件的所有项目,或者如果所有项目都满足条件则返回第一个项目

标签 javascript ecmascript-6

给定以下数据:

const array = [
  {name: one, completed: false},
  {name: two, completed: false},
  {name: three, completed: false},
  {name: four, completed: false},
]

const arrayTwo = [
  {name: one, completed: true},
  {name: two, completed: true},
  {name: three, completed: false},
  {name: four, completed: false},
]

我需要能够返回:

//from array
[
  {name: one, completed: false}
]

//from arrayTwo
[
  {name: one, completed: true},
  {name: two, completed: true},
  {name: three, completed: false},
]

所以问题是: 如何映射/过滤/减少这些数组以返回所有项目直到并包括第一个参数满足以下条件的项目:

completed: false

...或者第一个,如果它们都满足以下条件:

completed: false

一如既往,我们非常感谢任何和所有方向,所以提前致谢!

最佳答案

  const result = array.slice(0, array.findIndex(it => !it.completed) + 1);

关于javascript - es6 数组返回满足特定条件的所有项目,或者如果所有项目都满足条件则返回第一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55637550/

相关文章:

javascript - 迭代生成器的更简单方法?

javascript - 参数解构(相当于python的double-splat)

javascript - HTML//jQuery - 重新加载 10 秒后静音所有音频

javascript - 如何从 Django 迁移到 REST-API/瘦客户端?

javascript - 为什么用变量调用数组索引是不好的做法?

javascript - 如何在 Javascript 中调用同一个类中的另一个方法

javascript - React.js,ES6,如何访问ES6类中的react-router Lifecycle?

javascript - TailwindCSS 对齐内容在 CSS 网格中不起作用

javascript - 使用 ajax 函数在 codeigniter 中重定向

javascript - 使用来自 nodejs readline 的答案 block 的 ES6 生成器