[Ramda] Filter, Reject and Partition

We'll learn how to get a subset of an array by specifying items to include with filter, or items to exclude using reject. We'll also look at how to get the results from both filter and reject, neatly separated with partition.

 

// we don't need to require in Plunker!
//const R = require('ramda')

const pets = [
  {name: 'Spike', type: 'dog'},
  {name: 'Mittens', type: 'cat'},
  {name: 'Rover', type: 'dog'},
  {name: 'Fluffy', type: 'cat'},
  {name: 'Fido', type: 'dog'}
]

const dogCheck = pet => pet.type == 'dog'

// const result = R.filter(dogCheck, pets)
// const result = R.reject(dogCheck, pets)

const result = R.partition(dogCheck, pets)

console.log(result)
document.getElementById('output').innerHTML = `${JSON.stringify(result)}`

 

/*
[
[{"name":"Spike","type":"dog"},{"name":"Rover","type":"dog"},
{"name":"Fido","type":"dog"}],

[{"name":"Mittens","type":"cat"},{"name":"Fluffy","type":"cat"}]
]
*/

 

posted @ 2016-09-24 02:57  Zhentiw  阅读(422)  评论(0编辑  收藏  举报