我在 javascript 中有一个数组,如下所示:
arr = ["md51234","md55234"]
我试图通过执行以下操作从中删除一个项目:
delete arr["md51234"]
但这似乎不起作用。还有其他方法可以删除这个吗?
@dystroy 提供了答案,我将 indexOf 添加到了不兼容浏览器的数组原型中:
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
}
您必须提供索引,而不是值:
delete arr[0];
或者,您也可以使用indexOf https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf在大多数浏览器上
delete arr[arr.indexOf("md51234")];
但请注意,删除不会使数组变短,它只会使值变得未定义。使用后你的数组delete
is
[undefined, "md55234"]
如果你想让数组更短,可以使用
arr.splice(0, 1); // first parameter is index of element to remove, second one is number of elements to remove
这使得
["md55234"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)