javascript object filter
// use filter() function. Let say we have array of object.
let arr = [
{name: "John", age: 30},
{name: "Grin", age: 10},
{name: "Marie", age: 50},
];
//Now I want an array in which person having age more than 40 is not
//there, i.e, I want to filter it out using age property. So
let newArr = arr.filter((person)=>(return person.age <= 40));
//filter function expects a function if it return true then it added
//into new array, otherwise it is ignored. So new Array would be
/* [
{name: "John", age: 30},
{name: "Grin", age: 10},
]
*/var heroes = [
{name: “Batman”, franchise: “DC”},
{name: “Ironman”, franchise: “Marvel”},
{name: “Thor”, franchise: “Marvel”},
{name: “Superman”, franchise: “DC”}
];
var marvelHeroes = heroes.filter(function(hero) {
return hero.franchise == “Marvel”;
});
// [ {name: “Ironman”, franchise: “Marvel”}, {name: “Thor”, franchise: “Marvel”} ]function objectFilter = (obj, predicate) =>
Object.keys(obj)
.filter( key => predicate(obj[key]) )
.reduce( (res, key) => (res[key] = obj[key], res), {} );
// Example use:
var scores = {
John: 2, Sarah: 3, Janet: 1
};
var filtered = objectFilter(scores, num => num > 1);
console.log(filtered);/** filter object by key or value */
/** filter object function */
function filterObj( obj, predicate ) {
var result = {}, key;
for ( key in obj ) {
if ( obj.hasOwnProperty( key ) && predicate( key, obj[ key ] ) ) {
result[ key ] = obj[ key ];
}
}
return result;
};
// example
// set object
var obj = {
name : 'john',
lastName : 'smith',
age : 32
}
// filter out parameters using key and value
var filteredObj = filterObj( obj, function( key, value ) {
return key !== 'age' && value !== 'smith'
});
// show result
console.log( filteredObj ); // { name: "john" }const filterThisArray = ["a","b","c","d","e"]
console.log(filterThisArray) // Array(5) [ "a","b","c","d","e" ]
const filteredThatArray = filterThisArray.filter((item) => item!=="e")
console.log(filteredThatArray) // Array(4) [ "a","b","c","d" ]
let newArray = array.filter(function(item) {
return condition;
});