gpt4 book ai didi

javascript - 从 JSON 数组的内容创建带有原型(prototype)函数的 JavaScript 对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:20:51 25 4
gpt4 key购买 nike

我有一个 JSON 结构;

{ 
books: [
{"id": "book1", "title": "Book One"},
{"id": "book2", "title": "Book Two"}
]
}

代表;

function BookList() {
this.books = new Array();
}

BookList.prototype.addBook = function(b) {
this.books[this.books.length] = b;
}

function Book(id, title) {
this.id = id || '';
this.title = title || '';
this.chapters = new Array();
}

Book.prototype.addChapter = function(c) {
this.chapters[this.chapters.length] = c;
}

在 BookList 中创建 Book 对象数组的最佳方法是什么?

使用 jQuery,您可以只使用 $.parseJSON(jsonData).books 来分配 BookList 数组并自动获得属性值,但这不会使用原型(prototype)函数创建所需的对象。

遍历 JSON 数组并单独创建每个 Book 对象的唯一方法是什么?这个问题涉及从 JSON 创建一个特定的原型(prototype)对象:Parse JSON String into a Particular Object Prototype in JavaScript .

我认为这可以扩展以应用于具有正确迭代级别的 BookList,然后从那里应用于 Book 对象的章节。

是否可以在使用 $.parseJSON 初始分配后更改对象类型?

最佳答案

var json = { 
books: [
{"id": "book1", "title": "Book One"},
{"id": "book2", "title": "Book Two"}
]
};

var list = new BookList();
list.books = json.books.map(convertToBook);

function convertToBook(book) {
return new Book(book.id, book.title);
}

关于javascript - 从 JSON 数组的内容创建带有原型(prototype)函数的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com