2017-06-06 78 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的实际代码,否则他们会得到不同的错误。 –