Если у меня есть массив, например: a=["a","b","c"]
. Мне нужно что-то вроде a.remove("a");
Как удалить определенный элемент в массиве в javascript
Как это сделать?
Если у меня есть массив, например: a=["a","b","c"]
. Мне нужно что-то вроде a.remove("a");
Как удалить определенный элемент в массиве в javascript
Как это сделать?
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
if(a[i]!=="a") newArray.push(a[i]);
Вы знаете, что есть '.splice'? –
Да, я знаю. Но я считаю, что массив может иметь более одного «а» –
. Я не думал об этом. Хорошая точка зрения. +1 –
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 });
}
Если вы используете современный браузер, вы можете использовать .filter
.
Array.prototype.remove = function(x){
return this.filter(function(v){
return v !== x;
});
};
var a = ["a","b","c"];
var b = a.remove('a');
Если вы хотите, не против дополнительной полезной нагрузки (около 4kb уменьшенных и сжат GZIP), вы можете использовать without function of the Underscore library: _.without
([ "а", "б", «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>
это справедливо для Array и arraylist как –
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'
осесть. Я придумал дубликат для вас, так как вы явно не искали себя. –