簡體   English   中英

JavaScript對象-數字鍵文字未定義

[英]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

它的返回字符串和您的idinteger因此請嘗試將Studentid轉換為字符串

var studentid = parseInt(course.roster[i]);     // studentid = 1367

這將適合您的情況

嘗試將字符串ID解析為數字。

console.log(students[Number(studentid)]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM