Javascript 如何将多个数组中的项添加到另一个数组中?
我有一个用Vue循环的对象数组。每个对象都有一个键值对,其值是另一个数组。如何在每个对象上循环,然后在该对象中的每个数组上循环,以将所有唯一项添加到一个数组中Javascript 如何将多个数组中的项添加到另一个数组中?,javascript,jquery,html,vue.js,Javascript,Jquery,Html,Vue.js,我有一个用Vue循环的对象数组。每个对象都有一个键值对,其值是另一个数组。如何在每个对象上循环,然后在该对象中的每个数组上循环,以将所有唯一项添加到一个数组中 const objects: [ { hungry: true, name: "pete", fruits: ["banana", "orange"] }, { hungry: false, name: "sam", fruits: ["grape
const objects: [
{
hungry: true,
name: "pete",
fruits: ["banana", "orange"]
},
{
hungry: false,
name: "sam",
fruits: ["grapes", "kiwi"]
},
{
hungry: true,
name: "george",
fruits: ["pear", "mango"]
}
]
这让我很接近,但它只是将每个内部数组添加到外部数组,而不是该数组中的唯一项
uniqueFruits: function() {
const fruitList = [];
this.objects.forEach((object)=>{
if (!fruitList.includes(object.fruits)) {
fruitList.push(objects.fruits);
}
});
return fruitList;
}
我知道我需要以某种方式再次在内部循环以获取内部数组中的项目。有什么帮助吗?我想你在找这样的东西:
const对象=[
{
饥饿:是的,
姓名:“皮特”,
水果:[“香蕉”、“橘子”]
},
{
饥饿:错,
姓名:“山姆”,
水果:[“葡萄”、“猕猴桃”]
},
{
饥饿:是的,
姓名:“乔治”,
水果:[“梨”、“芒果”]
}
];
常量水果列表=[];
objects.forEach(item=>item.fruits.forEach(fruit=>fruitList.push(fruit));
控制台日志(结果列表)代码>我想你在找这样的东西:
const对象=[
{
饥饿:是的,
姓名:“皮特”,
水果:[“香蕉”、“橘子”]
},
{
饥饿:错,
姓名:“山姆”,
水果:[“葡萄”、“猕猴桃”]
},
{
饥饿:是的,
姓名:“乔治”,
水果:[“梨”、“芒果”]
}
];
常量水果列表=[];
objects.forEach(item=>item.fruits.forEach(fruit=>fruitList.push(fruit));
控制台日志(结果列表)代码>使用嵌套循环是一种方法,使用es6可以代替执行水果列表.push(objects.fruits)代码>,请执行以下操作:
fruitList=[…fruitList,…objects.fruits]代码>
删除重复项的一种方法是,在拥有整个结果列表
后,通过const-furtoset=new set(结果列表)将其转换为一个集合代码>。这将只留下唯一的水果名称。如果需要数组类型,只需constfuturearray=array.from(水果集)代码>使用嵌套循环是一种方法,使用es6您可以代替执行水果列表.push(objects.fruits)代码>,请执行以下操作:
fruitList=[…fruitList,…objects.fruits]代码>
删除重复项的一种方法是,在拥有整个结果列表
后,通过const-furtoset=new set(结果列表)将其转换为一个集合代码>。这将只留下唯一的水果名称。如果需要数组类型,只需constfuturearray=array.from(水果集)代码>太棒了,谢谢。还有一个简单的问题。。。假设其中一些数组共享一些相同的结果。如何将共享水果的每个实例只添加到外部阵列中?太棒了,谢谢。还有一个简单的问题。。。假设其中一些数组共享一些相同的结果。如何仅将共享果实的每个实例添加到外部数组?