复制对象数组并根据属性进行过滤

时间:2019-05-21 20:06:07

标签: javascript

我有一个数组

Persons:[ 
{
Name: 'xz',
Job:'abc',
Manager:true},
{
Name: 'xy',
Job:'ac',
Manager:false},
{
Name: 'z',
Job:'a',
Manager:true}
]

我想过滤出管理者为真的对象,并使用Person_new:[]将此数据设置为状态setState

您能帮我吗?

2 个答案:

答案 0 :(得分:0)

因为在对象数组中有一个布尔键,所以可以使用filter仅选择Persons,并且将manager设置为true!

const managers = Persons.filter(person => person.Manager)

答案 1 :(得分:0)

使用Array过滤器方法标识管理器,然后使用setState方法:

const Persons = [
  { Name: 'xz', Job: 'abc', Manager: true },
  { Name: 'xy', Job: 'ac', Manager: false },
  { Name: 'z', Job: 'a', Manager: true }
];

const managers = Persons.filter(person => person.Manager);

this.setState({ persons: managers });