JS刪除陣列中指定的物件
阿新 • • 發佈:2019-01-10
- 封裝刪除方法
/**刪除陣列中的某一個物件 _arr:陣列 _obj:需刪除的物件 */ function removeArray(_arr, _obj) { let length = _arr.length; for (let i = 0; i < length; i++) { if (_arr[i] === _obj) { if (i === 0) { _arr.shift(); //刪除並返回陣列的第一個元素 return _arr; } else if (i === length - 1) { _arr.pop(); //刪除並返回陣列的最後一個元素 return _arr; } else { _arr.splice(i, 1); //刪除下標為i的元素 return _arr; } } } console.log(';;;;;;--- rrrr' + _arr) }
- 例項方法
function removeClick() { let arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" this.removeArray(arr, this.arr[0]); console.log(". . . .. . ." + this.array); }
- 輸出結果
刪除前: George,John,Thomas,James,Adrew,Martin 刪除後: John,Thomas,James,Adrew,Martin
另一種方法
function removeClick(){ let arr2 = new Array(6); arr2[0] = "George"; arr2[1] = "John"; arr2[2] = "Thomas"; arr2[3] = "James"; arr2[4] = "Adrew"; arr2[5] = "Martin"; this.remove1(arr2,"John"); } function remove1(arr, val) { let index =indexOf1(arr, val); if (index > -1) { arr.splice(index, 1); console.log("arr2- - - -" + arr) } } function indexOf1(array, val) { for (let i = 0; i < array.length; i++) { if (array[i] === val) return i; } return -1; }