javascript - 如何在对象数组中传递数组值?
问题描述
我是 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的值?
如果这是可能的,请告诉我。谢谢。
解决方案
如果您想要的是根据 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 函数,这只是如何使其与多个值兼容并返回任何内容的想法。
推荐阅读
- kubernetes - Kubernetes服务没有外部IP,无法访问服务
- javascript - 如何在 Python 中接收 JavaScript 变量(二维数组)
- reactjs - 在 React JS 中更改状态不会重新渲染父级
- angular - Angular + Firebase - 身份验证错误/数据库规则问题
- javascript - 检查键是否存在于另一个数组中并从中获取值并推送到另一个数组
- opengl - 如何渲染带纹理的四边形以便淡化不同的角?
- node.js - 我无法在 Windows 7 上安装 node.js
- laravel - Laravel 验证字段必须有 4 个单词
- c++ - 处理数组内部的 sizeof() 数组
- python - 将包含列表的列表转换为字符串