javascript - 使用循环构建对象数组

标签 javascript loops

是否可以用循环构建以下变量?

let mp3list = [
  {
    name: "Minuetto A",
    path: "assets/music/minuettoA.mp3"
  },
  {
    name: "Minuetto B",
    path: "assets/music/minuettoB.mp3"
  },
  {
    name: "Minuetto C",
    path: "assets/music/minuettoC.mp3"
  },
  {
    name: "Minuetto D",
    path: "assets/music/minuettoD.mp3"
  },
  {
    name: "Minuetto E",
    path: "assets/music/minuettoE.mp3"
  },
  {
    name: "Minuetto F",
    path: "assets/music/minuettoF.mp3"
  } // etc
];

它看起来如此“有图案”,我想应该有办法! 我很想知道! :)

最佳答案

当然,但你会在某个地方需要字母表。也许 .map() 是最干净的解决方案

Array.prototype.map()

let alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']; // and so on

let mp3list = alphabet.map( item => {
    return {
      name: `Minuetto ${item}`,
      path: `assets/music/minuetto${item}.mp3`
    };
});
console.log(mp3list);

或者使用 ES6 Array.prototype.forEach()

let alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']; // and so on
let mp3list = [];

alphabet.forEach( item => {
  mp3list.push(
    {
      name: `Minuetto ${item}`,
      path: `assets/music/minuetto${item}.mp3`
    }
  );
});
console.log(mp3list);

还是老派Array.prototype.forEach()使用字符串连接

let alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']; // and so on
let mp3list = [];
alphabet.forEach(function(item){
  mp3list.push(
    {
      name: "Minuetto " + item,
      path: "assets/music/minuetto"+item+".mp3"
    }
  );
});
console.log(mp3list);

关于javascript - 使用循环构建对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60366939/

相关文章:

javascript - Javascript 更改文本后获取 TextBox 文本

javascript - 有关如何解决使用 JavaScript 从字符串中仅提取数字的问题的建议

javascript - 使用 Bootstrap 样式自定义 facebook 共享按钮

javascript - 如何修复代码以删除公式,但在所有工作表中保留指定值

php - 第二个 while 循环没有运行。为什么?

javascript - 搜索 div 并设置属性的 jQuery 代码

postgresql - pg_terminate_backend 在循环中不起作用

java - Java中轮流使用按钮

javascript - 重新启动 Canvas javascript

javascript - 按钮调用 javascript 函数错误