-1
var array = [
 {
  name: "john",
  age: 23,
  isMarried: true
 },
 {
  name: "mike",
  age: 16,
  isMarried: false
 },
{
  name: "joey",
  age: 32,
  isMarried: true
 }
];

Let's suppose we have this array list, I am trying to filter this array without mutating the original array with multiple conditions which will return me a result array with all the conditions matched.

conditions can be if age> 20 && isMarried === true;

Note: The values in the array might be null sometimes.

Thanks in advance

Vish
  • 142
  • 1
  • 8

2 Answers2

2

You could use Array.prototype.filter() method.

const array = [
  {
    name: 'john',
    age: 23,
    isMarried: true,
  },
  {
    name: 'mike',
    age: 16,
    isMarried: false,
  },
  {
    name: 'joey',
    age: 32,
    isMarried: true,
  },
];
const ret = array.filter((x) => x.age > 20 && x.isMarried === true);
console.log(ret);
mr hr
  • 3,162
  • 2
  • 9
  • 19
0

var array = [
 {
  name: "john",
  age: 23,
  isMarried: true
 },
 {
  name: "mike",
  age: 16,
  isMarried: false
 },
{
  name: "joey",
  age: 32,
  isMarried: true
 }
];

const filteredArray = array.filter(item => item.age && item.age > 20 && item.isMarried === true)

console.log(filteredArray)
ecoplaneteer
  • 1,918
  • 1
  • 8
  • 29