JavaScript undefined不是一个函数(使用splice函数)
JavaScript undefined is not a function (using the splice function)
我正在尝试将"lene"(它只是一个测试样本)推入变量"q"。出于某种原因,这是我的浏览器提到的:
Javascript highscore.html:24 Uncaught TypeError: undefined is not a function
Javascript highscore.html:145 Uncaught TypeError: Cannot read property 'length' of undefined
第 145 行上的第二个错误是由于第一个错误。我在这里的评论中标记了第 24 行:
var q = [{
TernRank: 2,
TernVan: '03/12/2014',
TernTot: '01/01/2015',
TernDagen: 1
}, {
TernRank: 3,
TernVan: '08/01/2014',
TernTot: '01/01/2015',
TernDagen: 1
}, {
TernRank: 1,
TernVan: '03/12/2014',
TernTot: '01/01/2015',
TernDagen: 1
}, {
TernRank: 4,
TernVan: '03/12/2014',
TernTot: '01/01/2015',
TernDagen: 1
}];
DAY = 1000 * 60 * 60 * 24
for (i = 0; i < 4; i++) {
d1i = new Date(q[i].TernVan)
d2i = new Date(q[i].TernTot)
days_passedi = Math.round((d2i.getTime() - d1i.getTime()) / DAY)
q[i].splice(3, 0, "Lene"); //This is line 24
};
如果我删除"[i]",第 24 行确实有效。有谁知道为什么它会导致错误或/以及如何解决它?
q
是一个数组,q[i]
是一个对象。
默认情况下,只有数组具有.splice
的方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
如果您希望将"Lene"添加到q
数组中,最简单的方法是:
q.push('Lene');
或者,如果您确实想使拼接工作,则可能需要这样做:
q.splice(i, 0, 'Lene');
这将在q
数组的索引i
处添加元素"Lene"。 或者你可能想做这样的事情:
q.splice(q.length + 1, 0, 'Lene');
这基本上与q.push
相同
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么