Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays React-筛选器数组获取所有消息_Arrays_Reactjs_Filter - Fatal编程技术网

Arrays React-筛选器数组获取所有消息

Arrays React-筛选器数组获取所有消息,arrays,reactjs,filter,Arrays,Reactjs,Filter,我正在尝试制作一个React过滤器来过滤每个人的消息。但是我没有办法得到正确的结果 0: {first_name: "dk", last_name: "k", email: "k@l.nl", message: "Email Sent", name: "test camp"} 1: {first_name: "asdfk", last_name: "lksdfl", email: "kk@l.nl", message: "Email Sent", name: "test camp"} 2: {f

我正在尝试制作一个React过滤器来过滤每个人的消息。但是我没有办法得到正确的结果

0: {first_name: "dk", last_name: "k", email: "k@l.nl", message: "Email Sent", name: "test camp"}
1: {first_name: "asdfk", last_name: "lksdfl", email: "kk@l.nl", message: "Email Sent", name: "test camp"}
2: {first_name: "asdfkl", last_name: "lksdf", email: "salkdf@live.nl", message: "Email Sent", name: "test camp"}
3: {first_name: "asdklfjlk", last_name: "laskdfjlksdf", email: "ksdfsdaf@l.nl", message: "Email Sent", name: "test camp"}
4: {first_name: "asdfkl", last_name: "lksdjfkl", email: "kk@sds.nl", message: "Email Sent", name: "test camp"}
5: {first_name: "asdfkl", last_name: "lksdjfkl", email: "kk@sds.nl", message: "Clicked Link", name: "test camp"}
我想要实现的是为每个用户获得一个消息列表。对于用户asdfkl,它将是消息[发送电子邮件,单击链接]

有没有办法在react中实现这一点


提前感谢

您可以使用reduce尝试更好的方法:

const filteredMessagesList = name => {
    const messagesArray = [];
    personList.forEach(person => {
        if(person.name === name) {
            messagesArray.push(person.message);
        }
    });
    return messagesArray;
}
const people = [
  {
    first_name: 'dk',
    last_name: 'k',
    email: 'k@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfk',
    last_name: 'lksdfl',
    email: 'kk@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdf',
    email: 'salkdf@live.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdklfjlk',
    last_name: 'laskdfjlksdf',
    email: 'ksdfsdaf@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdjfkl',
    email: 'kk@sds.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdjfkl',
    email: 'kk@sds.nl',
    message: 'Clicked Link',
    name: 'test camp'
  }
];

const getEmails = people.reduce((acc, cur) => {
  const user = cur.first_name;
  if (!acc[user]) {
    acc[user] = [];
  }
  acc[user] = [...acc[user], cur];
  return acc;
}, {});

console.log(getEmails);


您可以使用reduce尝试更好的方法:

const people = [
  {
    first_name: 'dk',
    last_name: 'k',
    email: 'k@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfk',
    last_name: 'lksdfl',
    email: 'kk@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdf',
    email: 'salkdf@live.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdklfjlk',
    last_name: 'laskdfjlksdf',
    email: 'ksdfsdaf@l.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdjfkl',
    email: 'kk@sds.nl',
    message: 'Email Sent',
    name: 'test camp'
  },
  {
    first_name: 'asdfkl',
    last_name: 'lksdjfkl',
    email: 'kk@sds.nl',
    message: 'Clicked Link',
    name: 'test camp'
  }
];

const getEmails = people.reduce((acc, cur) => {
  const user = cur.first_name;
  if (!acc[user]) {
    acc[user] = [];
  }
  acc[user] = [...acc[user], cur];
  return acc;
}, {});

console.log(getEmails);


以下是按名字筛选集合的示例:

const people=[{名字:'dk',姓氏:'k',电子邮件:'k@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfk',last_name:'lksdfl',电子邮件:'kk@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdf',Email:'salkdf@live.nl,消息:'Email Sent',名称:'test camp'},{名字:'asdklfjlk',姓氏:'laskdfjlksdf',电子邮件:'ksdfsdaf@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdjfkl',电子邮件:'kk@sds.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdjfkl',电子邮件:'kk@sds.nl,消息:'单击链接',名称:'测试营地'}]; 让getMessagesByFirstName=名称,数据=>{ 让结果=data.filterx=>x.first_name.includeName | |【】 ifresult.length{ result=Array.fromresult.reducer,{message}=>r.addmessage,新集合 } 返回结果 }
console.loggetMessagesByFirstName'asdfkl',people下面是一个按名字筛选集合的示例:

const people=[{名字:'dk',姓氏:'k',电子邮件:'k@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfk',last_name:'lksdfl',电子邮件:'kk@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdf',Email:'salkdf@live.nl,消息:'Email Sent',名称:'test camp'},{名字:'asdklfjlk',姓氏:'laskdfjlksdf',电子邮件:'ksdfsdaf@l.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdjfkl',电子邮件:'kk@sds.nl“,信息:'Email Sent',名称:'test camp'},{first_name:'asdfkl',last_name:'lksdjfkl',电子邮件:'kk@sds.nl,消息:'单击链接',名称:'测试营地'}]; 让getMessagesByFirstName=名称,数据=>{ 让结果=data.filterx=>x.first_name.includeName | |【】 ifresult.length{ result=Array.fromresult.reducer,{message}=>r.addmessage,新集合 } 返回结果 }
console.loggetMessagesByFirstName'asdfkl',people此命令可回答问题,提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值,而此命令可回答问题,提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值长期价值