-1

これが私のコードです:

function Todo(id, task, who, dueDate) {
    this.id = id;
    this.task = task;
    this.who = who;
    this.dueDate = dueDate;
    this.done = false;
}

var todos = new Array();

window.onload = init;

function init() {
    var submitButton = document.getElementById("submit");
    submitButton.onclick = getFormData;
    var searchButton = document.getElementById("button");
    searchButton.onclick = search;
}

//function creates objects    

function search() {
      for (var i = 0; i < todos.length; i++) {
         var todoObj = todos[i].who;
         console.log(todoObj[0]);
        }
    }

私が作成した2つのオブジェクトには、whoの値が「jane」と「scott」があります。これがコンソールに返すのは、最初に「j」、次に「s」です。したがって、両方のオブジェクトの最初の文字にアクセスしています。console.log(todoObj);だけを入力すると 「jane」と「scott」を返します。ただし、それぞれの名前に個別にアクセスできる必要があります。これどうやってするの?

4

5 に答える 5

2
todos = [ { who:"jane", ...}, {...} ]
todos[i] = { who:"jane", ...}
todos[i].who = "jane"
todos[i].who[0] = 'j'
于 2013-02-20T19:44:28.283 に答える
2

インデックスを削除します。あなたはすでにその価値を持っています。

 console.log(todoObj);
于 2013-02-20T19:44:38.497 に答える
0

あなたがするとき

var todoObj = todos[i].who;

現在のオブジェクトの who フィールドを todoObj に配置します。したがって、todoObj[1] は、who 配列の最初のブロックに等しくなります。オブジェクト全体を処理したい場合は、次のようにします。

var todoObj = todos[i]

で名前を取得します

 todoObj.who
于 2013-02-20T19:56:51.883 に答える
0

最初の にアクセスしているconsole.log(todoObj[0])ため、「f」または「s」が表示されます

于 2013-02-20T19:45:25.637 に答える
0
var todoObj = todos[i].who; // returns the string jane or scott depending on the index
console.log(todoObj[0]); // will print out the first character of the string assigned in todoObj

あなたがする必要があるのは

var todoObj = todos[i]; // returns the Todo object
console.log(todoObj.who);
于 2013-02-20T20:33:15.057 に答える