在jquery中按索引删除数组值

在jquery中按索引删除数组值,jquery,Jquery,数组: 我想通过使用索引删除上面的数组值“def”。您的示例代码错误,将抛出语法错误。您似乎混淆了创建对象的语法和创建对象的语法 正确的语法应该是:var-arr=[“abc”、“def”、“ghi”] 要根据项目的值从数组中删除项目,请使用以下方法: 要按索引删除它,只需直接参考它: arr.splice(arr.indexOf("def"), 1); 试试这个,如果您有一个像vararr=[“”,“”,“”]Use这样的数组,它应该可以工作 这将从数组中从indexValueOfArray

数组:


我想通过使用索引删除上面的数组值“def”。

您的示例代码错误,将抛出语法错误。您似乎混淆了创建对象的语法和创建对象的语法

正确的语法应该是:
var-arr=[“abc”、“def”、“ghi”]

要根据项目的值从数组中删除项目,请使用以下方法:

要按索引删除它,只需直接参考它:

arr.splice(arr.indexOf("def"), 1);
试试这个,如果您有一个像var
arr=[“”,“”,“”]
Use这样的数组,它应该可以工作


这将从数组中从
indexValueOfArray
开始删除
1
项。如果语法不正确,则应指定哈希:

ArrayName.splice(indexValueOfArray,1);
或数组:

hash = {abc: true, def: true, ghi: true};
只需将项目设置为null,即可有效地从哈希中删除项目:

arr = ['abc','def','ghi'];
或者完全移除它:

hash['def'] = null;
hash.def = null;
要从数组中删除一个项,必须遍历每个项并找到所需的项(可能有重复项)。您可以使用数组搜索和拼接方法:

delete hash.def;
这将查找“def”的第一个索引,然后将其从带有拼接的数组中删除。 但是我建议使用.filter(),因为它提供了更多的控制:

arr.splice(arr.indexOf("def"), 1);
这将创建一个仅包含非“def”元素的新数组

需要注意的是,arr.filter()将返回一个新数组,而arr.splice将修改原始数组并返回删除的元素。这两个选项都很有用,具体取决于您想对项目执行的操作

  • 在数组中找到元素并获取其位置
  • 使用位置将其拆下
  • var数组=新数组();
    array.push('123');
    array.push('456');
    array.push('789');
    var\u searchedIndex=$.inArray('456',数组);
    警报(搜索索引);
    如果(_searchedIndex>=0){
    阵列拼接(_searchedIndex,1);
    警报(阵列);
    }

    在没有索引的情况下将其复制到新数组中可以吗OP混淆了创建对象和创建数组的语法。数组的正确语法是:
    var arr=[“abc”、“def”、“ghi”]这是不好的做法
    delete
    不会从数组中删除该项,但会将其设置为
    undefined
    。看到是字母表,他可能想在其中放一些东西,这纯粹是基于假设这些字符串是实际值而不是占位符,但是一个不错的保存:)将属性设置为
    null
    并不会删除它。您将需要使用
    delete
    。已更新:)在大多数情况下,您不需要使用delete。当您要删除属性时,可以使用
    delete
    。将其设置为
    null
    undefined
    是一种不好的做法,因为这样会消耗比必要时更多的内存。实际上,使用
    delete
    可能被认为是一种不好的做法,因为它比设置为
    null
    undefined
    花费的时间要长得多。但是,这两点都是无效的,因为在大多数情况下,我们讨论的内存和时间完全可以忽略不计。
    typeof null!=“未定义”
    因此没有必要建议将其作为一个可能的选项,只有
    delete
    才是正确的方法!知道
    .splice
    还返回移除对象的数组非常有用。此数组比接受的答案更正确+1指出OP没有使用
    数组
    “大括号”(
    []
    ),对于
    对象
    ,语法无效-表示在任何情况下都无效。。。作为一个指针,最好在答案中包含
    delete
    ,以显示如何从
    对象中删除。
    
    hash['def'] = null;
    hash.def = null;
    
    delete hash.def;
    
    arr.splice(arr.indexOf("def"), 1);
    
    arr.filter(function(item) { return item !== 'def'; });