繁体   English   中英

我如何循环遍历数组中每个 object 的属性,每个 object 的属性都不同。 这是 Javascript

[英]How do i loop through the properties of each object in the array, the properties are different in each object. This is Javascript

const team =
[ Manager {
    name: 'Chase Lipscomb',
    position: 'Manager',
    id: '5',
    email: 'something@gmail.com',
    office: '15a' },

  Enginner {
    name: 'David Sierra',
    position: 'Engineer',
    id: '6',
    email: 'somethingelse@gmail.com',
    git: 'davidsiearaa' },

  Intern {
    name: 'Joe Dion',
    position: 'Intern',
    id: '7',
    email: 'sometincool@gmail.com',
    school: 'UCI' } ]

该阵列被命名为团队。 这是程序的 output,我将为其生成 html 文档。 对于每个人(数组中的对象),我想创建一张卡片,显示他们的姓名、position、身份证号和 email。 并且根据他们的 position 还为实习生添加学校,为工程师添加 github,为经理添加办公室号码。 如何访问属性而不必按名称指定它们。 例如,我想做的不是 team.manager.name,而是 team[0].key(0)。

为了能够引用team object,您需要对其进行两次迭代,一次针对每个团队成员,第二次针对每个成员的数据。

请注意,我已经编辑了您的team object。

const team = [{
    Manager: {
    name: 'Chase Lipscomb',
    position: 'Manager',
    id: '5',
    email: 'something@gmail.com',
    office: '15a' },

    Enginner: {
    name: 'David Sierra',
    position: 'Engineer',
    id: '6',
    email: 'somethingelse@gmail.com',
    git: 'davidsiearaa' },

    Intern: {
    name: 'Joe Dion',
    position: 'Intern',
    id: '7',
    email: 'sometincool@gmail.com',
    school: 'UCI' } 
}]
    for (var all in team) {
        var members = team[all]; // object containing all team members
        for (var position in members) {
            var singleMember = members[position];
            console.log(position); // Manager, Engineer, Intern etc
            for (var detail in singleMember) {
                console.log(detail + " = " + singleMember[detail]);
                // name = Chase Lipscomb
                // position = Manager ...
            }
        }
    }

如果您的目标是遍历数组并访问每个元素键,那么这是合适的代码。

 const team = [ { name: 'Chase Lipscomb', position: 'Manager', id: '5', email: 'something@gmail.com', office: '15a' }, { name: 'David Sierra', position: 'Engineer', id: '6', email: 'somethingelse@gmail.com', git: 'davidsiearaa' }, { name: 'Joe Dion', position: 'Intern', id: '7', email: 'sometincool@gmail.com', school: 'UCI' } ]; team.forEach(member => { Object.keys(member).forEach(key => { console.log(member[key]); //some other stuff }); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM