javascript - 这是从带有对象的数组创建列表的正确方法吗?

标签 javascript ecmascript-6

我最近一直在学习一些 ES6。我正在学习 Wes Bos 的“ES6 for everyone”类(class),并想自己编写一些脚本来测试我吸收了多少有值(value)的信息。

在这段代码中,我试图从给定的变量创建 HTML 列表,该变量是包含对象的数组。所以最终我使这段代码可以工作,但我不确定这是否是正确的方法,你们可以看看它并告诉我可以修复和更改哪些内容以获得更好的解决方案吗?谢谢

const list = document.createElement('ul');
const students = [{
    name: 'Tom',
    gpa: 4.2,
    course: 'MKDf-16/1',
    gender: 'male'
  },
  {
    name: 'Artiom',
    gpa: 2.2,
    course: 'MKDf-16/1',
    gender: 'male'
  },
  {
    name: 'Alison',
    gpa: 4.8,
    course: 'MKDf-16/2',
    gender: 'female'
  },
  {
    name: 'John',
    gpa: 4.1,
    course: 'MKDf-16/5',
    gender: 'male'
  }
];

const output = students.map(student => {
  return `
            ${student.name}'s GPA is ${student.gpa}
        `
});

output.forEach((x, index) => {
  console.log(output[index]);
  let listItem = document.createElement('li');
  listItem.innerHTML = output[index];
  list.appendChild(listItem);
});

document.body.appendChild(list);

最佳答案

const students = [{
    name: 'Tom',
    gpa: 4.2,
    course: 'MKDf-16/1',
    gender: 'male'
  },
  {
    name: 'Artiom',
    gpa: 2.2,
    course: 'MKDf-16/1',
    gender: 'male'
  },
  {
    name: 'Alison',
    gpa: 4.8,
    course: 'MKDf-16/2',
    gender: 'female'
  },
  {
    name: 'John',
    gpa: 4.1,
    course: 'MKDf-16/5',
    gender: 'male'
  }
];

const list = document.createElement('ul');
list.innerHTML = students.map(ob => `<li>${ob.name}'s GPA is ${ob.gpa}</li>`).join("");
document.body.appendChild(list);

关于javascript - 这是从带有对象的数组创建列表的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50736344/

相关文章:

javascript - 在 Knockout Foreach 循环中生成 ID

javascript - 将 javascript 双按位转换为 C#

javascript 如何简单地设置和检索 cookie

javascript - 将 JSON 绑定(bind)到 Angularjs 输入

javascript - 通过 javascript 中的 es7 装饰器创建子类(扩展)

Javascript - 无法从脚本标签访问模块变量

node.js - 检查nodejs中的继承

javascript - 挑战: Fix a Canvas plugin to work with CORS?

javascript - ES6 解构赋值

javascript - 从输入设备获取MediaStream