配列がある場合、たとえば:
a = ["a", "b", "c"]
私はのようなものが必要です
a.remove("a");
これどうやってするの?
配列がある場合、たとえば:
a = ["a", "b", "c"]
私はのようなものが必要です
a.remove("a");
これどうやってするの?
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
if(a[i]!=="a")
newArray.push(a[i]);
JavaScriptの新しいバージョンの時点で:
var a = ["a","b","c"];
var newArray = a.filter(e => e !== "a");
remove = function(ary, elem) {
var i = ary.indexOf(elem);
if (i >= 0) ary.splice(i, 1);
return ary;
}
ターゲットブラウザがサポートarray.indexOf
している場合は、そのページのフォールバックコードを使用します。
すべての等しい要素を削除する必要がある場合はfilter
、Rocketが提案したように使用してください。
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');
配列から必要な要素を省略する簡単な解決策を思いつきました。
<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'
追加のペイロード(約4 kBの縮小およびgzip圧縮)を気にしない場合は、Underscore.jsライブラリのwithout関数を使用できます。
_.without(["a", "b", "c"], "a");
Underscore.jsは、この関数と多くの非常に便利な関数を提供します。