JavaScript:对于对象中的每个对象?

JavaScript:对于对象中的每个对象?,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,我有一个像这样的对象: { object1: { version: 1.0.0, name: Name1 }, object2: { version: 1.0.0, name: Name2 }, object3: { version: 1.0.0, name: Name3 } } 我需要

我有一个像这样的对象:

{
 object1: {
            version: 1.0.0,
            name: Name1
          },
 object2: {
            version: 1.0.0,
            name: Name2
          },
 object3: {
            version: 1.0.0,
            name: Name3
          }
}

我需要用每个对象的名称创建一个数组。如何循环此对象并获取每个对象的名称?

使用
for。。。在
循环中:

让obj={
目标1:{
版本:“1.0.0”,
名称:“名称1”
},
目标2:{
版本:“1.0.0”,
姓名:“姓名2”
},
目标3:{
版本:“1.0.0”,
姓名:“姓名3”
}
}
用于(输入obj){
name=obj[key].name;
console.log(名称);

}
用于。。。在
循环中:

让obj={
目标1:{
版本:“1.0.0”,
名称:“名称1”
},
目标2:{
版本:“1.0.0”,
姓名:“姓名2”
},
目标3:{
版本:“1.0.0”,
姓名:“姓名3”
}
}
用于(输入obj){
name=obj[key].name;
console.log(名称);

}
如果您不需要IE支持,有一种功能性方法:


如果您不需要IE支持,有一种功能性方法:

不要使用迭代器。更喜欢JavaScript的高阶函数,而不是像for in或for of这样的循环。eslint:没有迭代器没有受限语法

为什么??这强化了我们不变的规则。处理返回值的纯函数比处理副作用更容易推理

使用。。。Object.keys()/Object.values()/Object.entries()生成数组,以便可以在对象上迭代

因此:

不要使用迭代器。更喜欢JavaScript的高阶函数,而不是像for in或for of这样的循环。eslint:没有迭代器没有受限语法

为什么??这强化了我们不变的规则。处理返回值的纯函数比处理副作用更容易推理

使用。。。Object.keys()/Object.values()/Object.entries()生成数组,以便可以在对象上迭代

因此:

我希望这能奏效

             let obj = {
                object1: {
                            version: "1.0.0",
                            name: "Name1"
                        },
                object2: {
                            version: "1.0.0",
                            name: "Name2"
                        },
                object3: {
                            version: "1.0.0",
                            name: "Name3"
                        }
                };


            let array = Object.values(obj); //push values to new array without keys                
            let Names = []; //Empty Names array... 

            array.map(o => {
                Names.push(o.name);  //loop and push the names to new array
            });

            console.log(Names); //array of names;
我希望这能奏效

             let obj = {
                object1: {
                            version: "1.0.0",
                            name: "Name1"
                        },
                object2: {
                            version: "1.0.0",
                            name: "Name2"
                        },
                object3: {
                            version: "1.0.0",
                            name: "Name3"
                        }
                };


            let array = Object.values(obj); //push values to new array without keys                
            let Names = []; //Empty Names array... 

            array.map(o => {
                Names.push(o.name);  //loop and push the names to new array
            });

            console.log(Names); //array of names;
             let obj = {
                object1: {
                            version: "1.0.0",
                            name: "Name1"
                        },
                object2: {
                            version: "1.0.0",
                            name: "Name2"
                        },
                object3: {
                            version: "1.0.0",
                            name: "Name3"
                        }
                };


            let array = Object.values(obj); //push values to new array without keys                
            let Names = []; //Empty Names array... 

            array.map(o => {
                Names.push(o.name);  //loop and push the names to new array
            });

            console.log(Names); //array of names;