首页 > 解决方案 > 如何在对象数组中传递数组值?

问题描述

我是 Arrays 的新手,我想从我的第一个数组中传递和获取值。

代码如下所示:

我的第一个数组是:

const CompanyData = [
    {id: 1, name: 'Company1', phone: 'X', address: 'Y' , person: [1, 2]},
    {id: 2, name: 'Company2', phone: 'X', address: 'Y'},
    {id: 3, name: 'Company3', phone: 'X', address: 'Y'}
  ];

我的第二个数组是:

const PersonData = [
{id: 1, name: 'A', phone: 'D', address: 'X'},
{id: 2, name: 'B', phone: 'D', address: 'X'},
{id: 3, name: 'C', phone: 'D', address: 'X'}
];

如何在 Person 数组上的 CompanyData 中传递和获取PersonData的

如果这是可能的,请告诉我。谢谢。

标签: javascriptreactjs

解决方案


如果您想要的是根据 id 获取 Person 数据,那么最好创建一个函数并从那里返回 PersonData 的元素

const PersonData = [
    {id: 1, name: 'A', phone: 'D', address: 'X'},
    {id: 2, name: 'B', phone: 'D', address: 'X'},
    {id: 3, name: 'C', phone: 'D', address: 'X'}
]


const getPerson=(...args)=>{
    console.log(args)
    const Person=[];
    args.forEach(x=>{
        Person.push(PersonData.filter(y=>y.id===x))
    })
    return Person;
}
const CompanyData = [
{id: 1, name: 'Company1', phone: 'X', address: 'Y' , person: getPerson(1,2)},
{id: 2, name: 'Company2', phone: 'X', address: 'Y'},
{id: 3, name: 'Company3', phone: 'X', address: 'Y'}
]

您将在 CompanyData[0].person 中获得数组

您可以根据需要编辑 getPerson 函数,这只是如何使其与多个值兼容并返回任何内容的想法。


推荐阅读