这是我的代码:
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]);
}
}
我创建的两个对象的值为“jane”和“scott”。在控制台中返回的内容首先是“j”,然后是“s”。所以它正在访问两个对象中的第一个字母。当我输入console.log(todoObj);它返回“jane”和“scott”。我需要能够单独访问每个名称。我怎样才能做到这一点?
答案 0 :(得分:2)
todos = [ { who:"jane", ...}, {...} ]
todos[i] = { who:"jane", ...}
todos[i].who = "jane"
todos[i].who[0] = 'j'
答案 1 :(得分:2)
摆脱指数。你已经拥有了这个价值。
console.log(todoObj);
答案 2 :(得分:0)
您正在访问第一个console.log(todoObj[0])
,因此会出现“for”s“
答案 3 :(得分:0)
当你做
时var todoObj = todos[i].who;
将当前对象的who字段放入todoObj。因此,todoObj [1]等于who数组的第一个块。 如果你想处理整个对象:
var todoObj = todos[i]
并使用
获取名称 todoObj.who
答案 4 :(得分: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);