![](/img/trans.png)
[英]Remove an Item From an Array with JavaScript splice/indexOf
[英]Javascript remove item on array using splice() not working
所以我有一个像这样的数组 var arr = [foo1:"bar1", foo2:"bar", foo3:"bar3"]
。
然后我使用了这个arr.splice(index, 1);
给定index
是动态的,只说它是0
但没有从数组中删除值foo1:"bar1"
。
上面的数组也可以在我的代码上使用,但是在JSFiddle上显示错误。 我不知道为什么。
谢谢。
编辑我不知道为什么它在控制台上没有显示错误,但是这是我的操作方法。
var arr = [];
我通过这样做为数组动态增加了价值
arr["foo"] = "bar";
结果是[foo:"bar"];
有想法吗?
编辑2
该数组的结构无效。
var arr = [foo1:"bar1", foo2:"bar", foo3:"bar3"];
数组将在方括号[]
包含逗号分隔的项目,而不是键值
如果要具有键值,则应为大括号{}
对象
var arr = {foo1:"bar1", foo2:"bar", foo3:"bar3"};
如果要从arr
删除第一个属性,请执行
var keys = Object.keys( arr );
delete arr[ keys[ 0 ] ];
要添加键值,
arr[ "foo5" ] = "bar";
很长的路要走:
var arr = [];
var foo1 = {};
foo1['foo1'] = 'bar1';
var foo2 = {};
foo1['foo2'] = 'bar2';
arr.push(foo1);
arr.push(foo2);
alert(arr.length); // output: 2
var index = arr.indexOf(arr, foo1); // or var index = $.inArray(arr, foo1);
arr.splice(index, 1);
alert(arr.length) // output: 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.