【发布时间】:2019-11-26 08:54:51
【问题描述】:
我有一个对象字面量,其中包含一组对象(它们是书籍)和方法,我需要获取具有最多“书籍”的“发布者”属性,但我不知道该怎么做。
这是我到目前为止所做的:
const Library = {
_books: [
{
title: 'World of Warcraft: Cycle of Hatred',
author: 'Keith DeCandido',
publisher: 'Pocket Star',
year: 2006
}
],
// Add Books Method
addBook: function(book) {
return typeof book === 'object' ? this._books.push(book) : console.log(`Please enter a valid book.`);
},
// Publisher w/ Most Books
manyBooks: function() {
return this._books.reduce((books, book) => book.publisher)
}
}
// Add Books to the Library
Library.addBook({
title: 'The Witcher: The Last Wish',
author: 'Andrzej Sapkowski',
publisher: 'Ciela',
year: 2016
});
Library.addBook({
title: 'Fire and Blood',
author: 'George Martin',
publisher: 'Bard',
year: 2019
});
Library.addBook({
title: 'Song of Fire and Ice',
author: 'George Martin',
publisher: 'Bard',
year: 2001
});
// Print results in the console
console.log(`Total Books in the Library:`, Library.getBooks());
console.log(`Publisher With Most Books:`, Library.manyBooks());
这是我的完整代码:https://repl.it/@natefr0st/Objects
【问题讨论】:
-
请同时添加 wanred 结果。如果所有出版商的图书数量相同会怎样?
标签: javascript arrays json object ecmascript-6