删除“;这个“;数组的索引不起作用
Removing "this" index of array not working
这是我的代码:
var x = [{letter: "a"}, {letter: "b"}, {letter: "c"}]
x.push({
timer: setTimeout(function() {x.splice(x.length - 1, 1)}, 3000),
letter: "j",
})
x.push({letter: "k"})
setTimeout(function() {alert(x)}, 4000)
我的主要问题是:为什么代码在应该提醒"a、b、c、k"的时候提醒"a,b、c,[a数字]",为什么删除了错误的索引?
x.splice(x.length, 1)
删除一个从x.length
开始的元素,该元素在数组的边界之外;使用x.splice(x.length - 1, 1)
或仅使用x.pop()
。
如果这个想法是让对象从数组中删除自己,那么在添加它并使用它之前存储长度:
var removeIndex = x.length;
x.push({
timer: setTimeout(function() { x.splice(removeIndex, 1); }, 3000),
letter: "j",
});
x.push(setTimeout(function() {x.splice(x.length - 1, 1)}, 3000))
这实际上会将timeoutID推送到数组中。随后是一个额外的推送x.push('k')
,因此当超时解决时,k
元素实际上会被删除。
x.length
将在超时功能内部发生更改。如果要使用要添加的元素的索引,请将x.length
存储为更高范围中的变量。
http://jsfiddle.net/rrw3s/
相关文章:
- Angular js+ng repeat+字母数字索引不起作用
- 当z索引为负值时,onclick在webkit或mozilla中不起作用
- js字符串中字符的索引;对某些字符串不起作用
- 在JavaScript中更改下拉列表索引后,ASP.Net提交按钮单击事件不起作用
- 索引数据库:删除功能不起作用
- Css 模态框 z 索引不起作用
- 下拉列表索引更改时日期选取器不起作用
- 循环遍历类名索引不起作用..选择
- 猫鼬唯一索引不起作用
- 样式 z 索引不起作用
- 当我直接单击索引.html时,聚合物不起作用
- 为什么警报在 JS 中不起作用,索引返回 -1
- 为什么 z 索引不起作用
- Z索引不起作用
- 另一个“;z索引不起作用”;在IE中>7、研究后找不到答案
- Angularjs ng重复索引不起作用
- 当父元素是固定的并且具有相同的z索引时,子元素的z索引不起作用
- 删除“;这个“;数组的索引不起作用
- jquery后下拉列表的选定索引不起作用
- Angular OrderBy 索引不起作用