【发布时间】:2016-10-26 21:45:24
【问题描述】:
所以,我有一个对象。
var library = {
tracks: { t01: { id: "t01",
name: "Code Monkey",
artist: "Jonathan Coulton",
album: "Thing a Week Three" },
t02: { id: "t02",
name: "Model View Controller",
artist: "James Dempsey",
album: "WWDC 2003"},
t03: { id: "t03",
name: "Four Thirty-Three",
artist: "John Cage",
album: "Woodstock 1952"}
}
}
我想遍历它并返回一些对象的属性。结果应该是:
t01: Code Monkey by Jonathan Coulton (Thing a Week Three)
t02: Model View Controller by James Dempsey (WWDC 2003)
t03: Four Thirty-Three by John Cage (Woodstock 1952)
我已经完成了以下操作 - 它返回了所需的结果 - 但练习要求我使用一个函数来解决这个问题 (var printTracks = function () {}) - 我不知道该怎么做。
我的解决方案:
var tracks = library.tracks;
var result = Object.keys(tracks).forEach(function(t) {
var str = t + ': ' + tracks[t].name + ' by ' + tracks[t].artist + '
(' + tracks[t].album + ')';
console.log(str)
})
感谢任何关于如何将我的代码转换为函数的想法。
【问题讨论】:
-
这是学校作业?作为开发人员,您希望能够自己解决这类事情。您可能想要枚举或迭代 JavaScript 对象的属性。
-
function printTracks() { <your code here> }... 您可以通过阅读 JavaScript 教程来了解函数,例如 eloquentjavascript.net/03_functions.html。 -
@Mic:不是每个人都是开发者。 Stackoverflow 适合所有人。
-
@PeterLeger 我不同意,但也许我们正在使用不同的开发人员定义。我想说任何开发应用程序的人都是开发人员,无论是爱好还是职业。按照我的定义,StackOverflow 只与开发者相关,参与的每个人都是开发者。 OP引用了一个练习,所以我推测他正在努力学习这样做。能够做到这一点的很大一部分是能够独立搜索答案。最大的障碍是知道要搜索什么,这就是为什么我提供了我知道会提供很好示例的特定语言。
-
@Mic:我同意。 OP 在 StackOverflow 上问这个问题,因为他自己无法解决这个问题。我认为应该把提问者带到哪里。
标签: javascript object