【问题标题】:Creating an object with an array variable in java script在 javascript 中使用数组变量创建对象
【发布时间】:2012-04-01 05:19:07
【问题描述】:

我想创建这个对象,但我不确定如何使用 taskGroup 变量作为数组来创建它。这是我能做到的。

function listItem(name, number) {
    this.name = name;
    this.number = number;

    this.taskGroup = taskGroup; 
}

function taskGroup(name, number) {
    taskGroup = [{name, number}];

}

【问题讨论】:

  • 你想要taskGroup 喜欢[name, number]
  • 你想要taskgroup[name]=number吗?
  • 我不确定你在这里问什么。 1)“我想创建这个对象” - 你在说哪个对象?你想创建一个新的 listItem 吗? 2) 你有一个名为 taskGroup 的函数,一个名为 taskGroup 的函数内部的变量,以及一个名为 taskGroup 的 listItem 变量。我不确定您在问题中谈论的是哪个任务组。 3) 你想用你的名字和数字变量创建一个数组吗?其语法是 myArray = [name, number]

标签: javascript arrays javascript-objects


【解决方案1】:

也许您需要重新考虑如何创建任务组。与其拥有一个 taskGroup 对象,不如拥有一个任务对象。那么你在 listItem 中的 taskGroup 成员就变成了一个任务数组。

function task(name, number) {
   this.name = name;
   this.number = number;
}

function listItem(name, number) {
   this.name = name;
   this.number = number;

   //Don't do both of these -- choose which is appropriate
   //Create an empty array
   this.taskGroup = new Array();

   //or Create an array with one task already defined based on this name and number
   this.taskGroup = [ new task(name, number) ];
}

然后你可以像这样访问你的 taskGroup 变量:

var item = new listItem('one', 1);
var firstTask = item.taskGroup[0];

【讨论】:

  • 如果我使用 this.taskGroup = [ new task(name, number) ],我将如何设置任务的值; ??
【解决方案2】:

存在语法错误。这是一个正确的数组:

taskGroup = [name, number];

模式是:

var my_tab = [one, two, three];

var my_object = {one: 1, two: 2, three: 3};

【讨论】:

    猜你喜欢
    • 2016-04-02
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多