Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中删除数组中的特定元素_Javascript_Arrays_Object - Fatal编程技术网

如何在JavaScript中删除数组中的特定元素

如何在JavaScript中删除数组中的特定元素,javascript,arrays,object,Javascript,Arrays,Object,如果我有数组,例如: a = ["a", "b", "c"] 我需要像这样的东西 a.remove("a"); 我该怎么做 remove = function(ary, elem) { var i = ary.indexOf(elem); if (i >= 0) ary.splice(i, 1); return ary; } 提供了目标浏览器支持,否则请使用该页上的回退代码 如果需要删除所有相等的元素,请按照建议使用过滤器: removeAll = funct

如果我有数组,例如:

a = ["a", "b", "c"]
我需要像这样的东西

a.remove("a");
我该怎么做

remove = function(ary, elem) {
    var i = ary.indexOf(elem);
    if (i >= 0) ary.splice(i, 1);
    return ary;
}
提供了目标浏览器支持,否则请使用该页上的回退代码

如果需要删除所有相等的元素,请按照建议使用
过滤器

removeAll = function(ary, elem) {
    return ary.filter(function(e) { return e != elem });
}

如果您使用的是现代浏览器,则可以使用


如果您不介意额外的有效负载(约4kB缩小和压缩),您可以使用:


将为您提供此函数+许多非常方便的函数。

我想出了一个简单的解决方案,从数组中省略必要的元素:

<script>
    function myFunction()
    {
        var fruits = ["One", "Two", "Three", "Four"];

        <!-- To drop the element "Three"-->
        <!-- splice(elementid, number_of_element_remove) -->
        fruits.splice(2, 1);

        var x = document.getElementById("demo");
        x.innerHTML = fruits;
    }
</script>

函数myFunction()
{
var fruits=[“一”、“二”、“三”、“四”];
水果.拼接(2,1);
var x=document.getElementById(“演示”);
x、 innerHTML=水果;
}

你知道有
.splice
对吧?是的,我知道。但我认为数组可以有多个“a”,我没有想到这一点。说得好+1数组只有唯一的值!安定下来我为您准备了一个副本,因为您显然没有搜索自己。arr.splice(arr.indexOf(elm),1)将从数组“arr”中删除元素“elm”。这对数组和arraylist都有效
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
    if(a[i]!=="a") 
        newArray.push(a[i]);
var a = ["a","b","c"];
var newArray = a.filter(e => e !== "a");
_.without(["a", "b", "c"], "a");
<script>
    function myFunction()
    {
        var fruits = ["One", "Two", "Three", "Four"];

        <!-- To drop the element "Three"-->
        <!-- splice(elementid, number_of_element_remove) -->
        fruits.splice(2, 1);

        var x = document.getElementById("demo");
        x.innerHTML = fruits;
    }
</script>
let xx = ['a','a','b','c'];  // Array
let elementToRemove = 'a';  // Element to remove
xx =xx.filter((x) => x != elementToRemove) // xx will contain all elements except 'a'