Ramda filter

js:

var data = [
 {fname: 'Roy', lname: 'Red'},
 {fname: 'Gary', lname: 'Green'},
 {fname: 'Bob', lname: 'Blue'},
 {fname: 'Roy', lname: 'Rudy', alt: 'Alt'},
];

var dataUpd = R.pipe(
  R.filter(R.propEq('fname', 'Roy')),
  //R.filter(R.prop('alt')),
)(data);

alert( JSON.stringify(dataUpd) );

Result:

Filter all numbers which are more than 5:

const arr = [1,2,3,4,5,6,7,8];
const moreThan5 = n => n > 5;
const resMoreThan5 = R.filter(moreThan5)(arr);
console.log(resMoreThan5);

notEmpty helper:

js:

var data = [
 undefined,
 null,
 '',
 {fname: 'Roy', lname: 'Red'},
 {fname: 'Gary', lname: 'Green'},
 {fname: 'Bob', lname: 'Blue'},
];

var notEmpty = R.complement(R.either(R.isEmpty, R.isNil));

var dataUpd = R.pipe(
  R.filter(notEmpty),
)(data);

alert( JSON.stringify(dataUpd) );

Result:

Leave a Comment