2017-06-06 50 views
-4

我正在搞的api有每個請求100項的限制。所以我試圖找出長度變量(哪些工作),但爲什麼我不能使用該變量來獲取索引。如下所示。使用變量在JavaScript中訪問索引屬性

var ttl = results.data.length; 
const s = results.data[ttl].id; 

控制檯讀取

TypeError: Cannot read property 'id' of undefined 

ttl不起作用。但是,如果我這樣做......

const s = results.data[100].id; 

的價值得到認可罰款...但我不知道是什麼長度會,所以我需要將其設置在var和嘗試導航對象長度var?

+2

'TTL = parseInt函數(L);'不能工作,因爲你宣佈' ttl'作爲**'const' **。 –

+2

如果數組的長度是2,它包含元素0和1(但不是2),所以array [array.length]將始終未定義。 – James

+0

我知道這個索引是如何工作的我只是想動態地達到它......我試着將const改爲var而不用luch – Omar

回答

2

你不能在const上編寫代碼。 ttl = parseInt(l);是什麼意思?你在做什麼? (該編碼是指問題的原始版本)

const ttl = results.data.length; 
ttl = parseInt(l); // <- It's wrong 
const s = results.data[ttl].id; 

爲了讓你只需要這最後一個值:

const s = results.data[results.data.length-1].id; 
+0

'results.data.length-1' that worked!...我將在6分鐘內標記它 – Omar

+0

這個問題與'ttl'沒有任何關係作爲常量 – jonathanGB

+2

@jonathanGB:這是原始問題中的一個問題。但我想這不是OP的實際代碼,否則他們會得到不同的錯誤。 –