大批:
var arr = {'abc','def','ghi'};
我想通过使用索引来删除上面的数组值'def'。
您的语法不正确,您应该指定一个哈希:
hash = {abc: true, def: true, ghi: true};
或者一个数组:
arr = ['abc','def','ghi'];
您可以通过简单地将其设置为 null 来有效地从哈希中删除一个项目:
hash['def'] = null;
hash.def = null;
或完全删除它:
delete hash.def;
要从数组中删除一个项目,您必须遍历每个项目并找到您想要的项目(可能有重复项)。您可以使用数组搜索和拼接方法:
arr.splice(arr.indexOf("def"), 1);
这会找到“def”的第一个索引,然后使用拼接将其从数组中删除。但是我会推荐 .filter() 因为它给了你更多的控制权:
arr.filter(function(item) { return item !== 'def'; });
这将创建一个新数组,其中仅包含不是“def”的元素。
需要注意的是 arr.filter() 将返回一个新数组,而 arr.splice 将修改原始数组并返回删除的元素。这些都可能很有用,具体取决于您要对这些项目做什么。
delete arr[1]
试试这个,如果你有一个像 var 这样的数组,它应该可以工作arr =["","",""]
var array = new Array();
array.push('123');
array.push('456');
array.push('789');
var _searchedIndex = $.inArray('456',array);
alert(_searchedIndex );
if(_searchedIndex >= 0){
array.splice(_searchedIndex,1);
alert(array );
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>