array remove by value test

by Laurens Maneschijn

JavaScript

// remove values from array test.

// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
function arrayWithoutValue(array, value){
  // NB: (filter) returns new array (original array is unchanged)
	return array.filter(function(v){return v !== value;});
}


// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
function removeValueFromArray(array, value){
  // NB: (splice) modifies the original array
	var i=array.indexOf(value);
	if(i>=0){
		array.splice(i,1);
	}
}
function removeAllValueFromArray(array, value){
  // NB: (splice) modifies the original array
	var i=array.indexOf(value);
	while(i>=0){
		array.splice(i,1);
		i=array.indexOf(value);
	}
}

var o1,o2,o3,arr;

o1={n:1},o2={n:2},o3={n:3};
arr = [o1,o2,o2,o3];
console.table(arr);
removeAllValueFromArray(arr,o2);
console.table(arr);

o1={n:1},o2={n:2},o3={n:3};
arr = [o1,o2,o2,o3];
console.table(arrayWithoutValue(arr,o2));