Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Javascript 如何将多个数组中的项添加到另一个数组中?_Javascript_Jquery_Html_Vue.js - Fatal编程技术网

Javascript 如何将多个数组中的项添加到另一个数组中?

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

我有一个用Vue循环的对象数组。每个对象都有一个键值对,其值是另一个数组。如何在每个对象上循环,然后在该对象中的每个数组上循环,以将所有唯一项添加到一个数组中

 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(水果集)

太棒了,谢谢。还有一个简单的问题。。。假设其中一些数组共享一些相同的结果。如何将共享水果的每个实例只添加到外部阵列中?太棒了,谢谢。还有一个简单的问题。。。假设其中一些数组共享一些相同的结果。如何仅将共享果实的每个实例添加到外部数组?