js deletes an element instance in an array when of has no subscript


1. Use filter array to deduplicate;

var arr1 = [1,2,3,4,5,6];// Array to be manipulated

var j = 2;// Elements to be deleted


var noRepeat = function(arr1,arr2){

return arr1.flter(function(e){

return arr2.indexOf(e) == -1;

})

};

var arr2 = [];

arr2.push(j);// Ensure that the number to be deleted is an array, which is convenient to use filters

console.log(noReapeat(arr1,arr2));// That is, the culled array is obtained

2. Obtained by conventional method

// First find the subscript of the element to be deleted from the array

Array.prototype.indexOf = function(val){

for(var i=0;i<this.length;i++){

(this[i] == val)&&(return i;);

return -1;

}}

// Use splice Delete ( Note: splice What is returned is the deleted array. What we need is the deleted original array )

Array.prototype.remove = function(val){

var index = this.indexOf(val);// Call the above function to get the subscript

if(index != -1){

this.splice(index,1);// Delete Element

return this;// The original array that has been culled

}

}


// Call

var arr = [1,2,3,4,5];

console.log(arr.remove(3));

3. Using the combination of join, split and concat, there is a certain limitation and the operation is troublesome.