javascript - 将多个对象传递给构造函数

标签 javascript

我有一个构造函数,用于将新数据推送到数组(在本例中为 allEntries)

function entry (title, info) {
    this.title = title;
    this.info = [ { name : info } ];
}
var allEntries = []

我正在尝试弄清楚如何为 this.info 传递多个对象,例如:

allEntries.push( new entry( 'title one', ['info 1', 'info 2'] ) );

为了获得类似的东西:

{
    title: 'title one', 
    info : [
            { name: 'info 1'},
            { name: 'info 2'}
        ]
}

我该怎么做?

最佳答案

传递一个数组并迭代它以使用 Array.prototype.forEach 添加所有项目.

function entry (title, info) {
    this.title = title;
    this.info = [];
    info.forEach(function (infoItem) {
        this.info.push({ name : infoItem});
    }, this);
}

这样调用它:

var myEntry = new entry('foobar', ['info1', 'info2']);

顺便说一句:通常,类的名称前面有一个大写字母,以便能够将它们与函数(总是小写)区分开来,因此您可能想将其命名为“Entry”。

关于javascript - 将多个对象传递给构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565147/

相关文章:

javascript - 如何使用数值数组作为表单输入名称?

javascript - 输出距离矩阵结果为 div

javascript - document.write javascript 黑 jack 游戏

javascript - 如何将地址栏 url 放入 href 属性中

javascript - 将脚本引用 (JavaScript) 添加到 Microsoft AJAX 部分回发上的脚本管理器

javascript - 使用 javascript 从本地存储中删除

javascript - 滚动播放 Html5 视频

JavaScript 方法写入 Microsoft Visual Web Developer 调试器?

javascript - 合并选择框选择值

javascript - 如何根据返回值链接到另一个页面