[英]JavaScript object - numeric key literal undefined
此代碼段具有我在注釋中列出的值。
var studentid = course.roster[i]; // studentid = 1367
console.log(studentid); // prints 1367
console.log(students[1367]); // correctly prints a student object
如果我在第三行中更改鍵以使用具有完全相同值的變量,那么結果是不確定的。 為什么?
console.log(students[studentid]); // fails to print correctly
這是console.log(students[1367])
的輸出:
Object {
lname: "John",
fname: "Smith",
grade: "Sophomore",
id: "1367",
email: "jsmith@domain.com"
}
這是console.log(students[studentid])
的輸出:
undefined
問題是
var studentid = course.roster[i]; // studentid = 1367
它的返回字符串和您的id
以integer
因此請嘗試將Studentid轉換為字符串
var studentid = parseInt(course.roster[i]); // studentid = 1367
這將適合您的情況
嘗試將字符串ID解析為數字。
console.log(students[Number(studentid)]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.