Javascript / React-获取匹配特定条件的数组中的第一项

罗纳德·兰格维德

我有一个数组,说

[
    {
        lesson: 1,
        title: "Welcome",
        slug: "welcome",
        active: active,
        breakDay: false,
        started_time: new Date(),
        finished_time: null,
        completed: true,
        sublesson: [
            {
                lesson: 1.1,
                title: "Evaluation",
                slug: 'evaluation',
                completed: false,
                answers: []
            }
        ],
        answers: []
    },
    {
        lesson: 2,
        title: "Example",
        slug: "example",
        active: active,
        breakDay: false,
        started_time: null,
        finished_time: null,
        completed: false,
        sublesson: [
            {
                lesson: 2.1,
                title: "example2,
                slug: 'example2,
                answers: []
            }
        ],
        answers: []
    }
]

我需要找到一种方法来映射第一个项目以达到特定条件。

我在React App内进行了尝试,但是很快意识到它实际上是在检查那些条件是否在第一项而非整个数组上都成立。

    {
        lessons !== null ?

            lessons.map((item, index, arr) => (
                index === 0 && item.active === true ?
                <>
                <p>{item.title}</p>
                </>
                :
                null
            ))
            :
            null

    }

因此,从本质上讲,我如何过滤第一个项目,以满足特定条件,例如item.active === true && item.completed === false

您可能需要filter这里:

var data=[ { lesson: 1, title: "Welcome", slug: "welcome", active: 'active', breakDay: false, started_time: new Date(), finished_time: null, completed: true, sublesson: [ { lesson: 1.1, title: "Evaluation", slug: 'evaluation', completed: false, answers: [] } ], answers: [] }, { lesson: 2, title: "Example", slug: "example", active: 'active', breakDay: false, started_time: null, finished_time: null, completed: false, sublesson: [ { lesson: 2.1, title: "example2", slug: 'example2', answers: [] } ], answers: [] }];

var result = data.filter(({active, completed})=> active && !completed);

console.log(result);

find获取第一个匹配对象:

var data=[ { lesson: 1, title: "Welcome", slug: "welcome", active: 'active', breakDay: false, started_time: new Date(), finished_time: null, completed: true, sublesson: [ { lesson: 1.1, title: "Evaluation", slug: 'evaluation', completed: false, answers: [] } ], answers: [] }, { lesson: 2, title: "Example", slug: "example", active: 'active', breakDay: false, started_time: null, finished_time: null, completed: false, sublesson: [ { lesson: 2.1, title: "example2", slug: 'example2', answers: [] } ], answers: [] }];

var result = data.find(({active, completed})=> active && !completed);

console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript只检查数组的第一项

Javascript-警报对象数组中的第一项吗?

如何从满足测试功能的 JavaScript 迭代器中获取第一项

React Native:遍历从 firebase 中提取的数据数组仅呈现数组中的第一项

如何通过具有数组行的第一项的值来删除/删除javascript数组中的行?

React - 根据条件显示地图中的第一项

React Ref:对象数组的Ref函数仅记录第一项

Javascript:如何遍历数组,每次将最后一项移动到第一项

React Native Picker移回第一项

For..in仅返回第一项-React js

Javascript单击始终从具有相似类的多个项目中获取第一项

Javascript-Arrays:获取以字母开头的第一项的索引

javascript: selectize 默认选择第一项

第一项之后,IntelliSense无法在React Native样式表中运行

使用map reduce等,如何在嵌套数组中找到匹配特定条件的第一项,并在找到后停止?

MongoDB如何更新与文档数组中的条件匹配的第一项?

当我们使用 React 从列表中单击第一项时打开模态

在Javascript中获取具有特定条件的数组中的数组

获取数组中的第一项和最后一项-JS

Codeigniter Javascript动态输入仅提交第一项

JavaScript ES2015上的地图的第一项

JavaScript-获取数组中除最后一项外的所有项

选择MongoDB匹配条件的第一项

查询MongoDB以匹配数组的第一项

JavaScript增量数组React

从符合条件的可迭代项中获取第一项

从javascript中的两个不同数组中获取唯一项

JavaScript获取数组中最后一项的索引

Rethinkdb-获取数组的第一项