在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js根據(jù)obj篩選數(shù)組(多條件數(shù)組篩選)

js根據(jù)obj篩選數(shù)組(多條件數(shù)組篩選)

 Users:[
                  {
                    name: 'tom',
                    age:26,
                    email:"1@qq.com",
                    address:"河北"
                  },
                  {
                    name: 'tom',
                    age:23,
                    email:"2@qq.com",
                    address:"山東"
                  },
                  {
                    name: 'tom',
                    age:24,
                    email:"3@qq.com",
                    address:"河北"
                  },
                  {
                    name: 'mike',
                    age:25,
                    email:"4@qq.com",
                    address:"河北"
                  }
                ]
let searchObj = {
  name: "tom",
  address:"河北",
  age:24
}

我想輸出一個新的數(shù)組,符合name為tom address為河北 并且age>24的符合條件的對象,應該怎么篩選?

回答
編輯回答
墨沫
  1. function里,新建個數(shù)組
  2. 循環(huán)遍歷,比較各個對象成員
  3. item.name==='tom' && item.address==='河北' && item.age > 24
  4. push到新數(shù)組里
  5. return新數(shù)組
2018年9月20日 02:24
編輯回答
未命名
User.filter(item => item.name === 'tom' && item.address === '河北' && item.age > 24)
2018年9月3日 19:28
編輯回答
笨小蛋
function filter (source, keyObj) {
  let keys = Object.keys(keyObj)
  return source.filter(v => {
    return keys.every(key => v[key] === keyObj[key])
  })
}
filter(Users, searchObj)
2017年5月29日 07:23
編輯回答
半心人
var Users =[
    {
      name: 'tom',
      age:26,
      email:"1@qq.com",
      address:"河北"
    },
    {
      name: 'tom',
      age:23,
      email:"2@qq.com",
      address:"山東"
    },
    {
      name: 'tom',
      age:24,
      email:"3@qq.com",
      address:"河北"
    },
    {
      name: 'mike',
      age:25,
      email:"4@qq.com",
      address:"河北"
    }
  ]
let searchObj = {
name: "tom",
address:"河北",
age:24
}


var res = Users.filter(function(it) { if(it.name== searchObj.name && it.address == searchObj.address && it.age> searchObj.age) return   it});


console.log(res)
[ { name: 'tom', age: 26, email: '1@qq.com', address: '河北' } ]
2018年5月3日 20:47