zoukankan      html  css  js  c++  java
  • [Ramda] Filter an Array Based on Multiple Predicates with Ramda's allPass Function

    In this lesson, we'll filter a list of objects based on multiple conditions and we'll use Ramda's allPass function to create a joint predicate from multiple, individual predicate functions.

    const R = require('ramda');
    
    const { allPass, propEq, lte, propSatisfies, filter } = R;
    
    const cars = [
        {
            name: 'suv',
            doors: 4,
            mpg: 19
        },
        {
            name: 'sedan',
            doors: 4,
            mpg: 30
        },
        {
            name: 'hybrid',
            doors: 4,
            mpg: 37
        },
        {
            name: 'compact',
            doors: 2,
            mpg: 32
        }
    ];
    
    const mpgLte30 = propSatisfies(lte(R.__, 30), 'mpg');
    const fourDoors = propEq('doors', 4);
    const preds = allPass([
                              mpgLte30,
                              fourDoors
                          ]);
    const result = filter(preds)(cars);
    console.log(result);
  • 相关阅读:
    bys_tu_2016
    ciscn_2019_es_1
    jarvisoj_level5
    axb_2019_brop64
    [ZJCTF 2019]EasyHeap
    ciscn_2019_es_7
    Exp1 PC平台逆向破解 相关wp
    picoctf_2018_shellcode
    cmcc_simplerop
    axb_2019_fmt32
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6528747.html
Copyright © 2011-2022 走看看