这个问题在这里已有答案:
10563
2018-06-07 22:14
起源
安家。因为你显然没有自己搜索,所以我想给你一份副本。
arr.splice(arr.indexOf(elm),1)将从数组'arr'中删除元素'elm' - Gautam Sharma
答案:
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
if(a[i]!=="a") newArray.push(a[i]);
5
2018-06-07 22:18
你知道有 .splice 对? - Derek 朕會功夫
是的我知道。但我正在考虑阵列可以有多个“a” - Danilo Valente
我没有想到这一点。好点子。 +1 - Derek 朕會功夫
该数组只有唯一值! - Adham
remove = function(ary, elem) {
var i = ary.indexOf(elem);
if (i >= 0) ary.splice(i, 1);
return ary;
}
提供目标浏览器支持 array.indexOf
,否则使用该页面上的后备代码。
如果你需要删除 所有 相同的元素,使用 filter
正如火箭队建议:
removeAll = function(ary, elem) {
return ary.filter(function(e) { return e != elem });
}
6
2018-06-07 22:17
如果您使用的是现代浏览器,则可以使用 .filter
。
Array.prototype.remove = function(x){
return this.filter(function(v){
return v !== x;
});
};
var a = ["a","b","c"];
var b = a.remove('a');
3
2018-06-07 22:17
我想出了一个简单的解决方案,从数组中省略了必要的元素
<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>
1
2017-12-10 05:58
这对于Array和arraylist都有效 - Milinda Bandara
如果你不想要额外的有效载荷(大约4kb缩小和gzip)你可以使用 没有Underscore库的功能 :
_.without([“a”,“b”,“c”],“a”);
Underscore会给你这个功能+很多非常方便的功能。
0
2018-06-07 22:26
let xx=['a','a','b','c']; // array
let elementToRemove='a'; // element to remove
xx =xx.filter((x)=> x!=elementToRemove) // xx will contain all element except 'a'
0
2017-11-29 14:04