ES6陣列中刪除指定元素

2022-03-15 19:25:51 字數 2109 閱讀 1773

知識點:

es6從陣列中刪除指定元素

findindex()方法返回陣列中滿足提供的測試函式的第乙個元素的索引。否則返回-1。

arr.splice(arr.findindex(item => item.id === data.id), 1)
1:js中的splice方法

splice(index,len,[item]) 注釋:該方法會改變原始陣列。

splice有3個引數,它也可以用來替換/刪除/新增陣列內某乙個或者幾個值

index:陣列開始下標 len: 替換/刪除的長度 item:替換的值,刪除操作的話 item為空

如:arr = ['a','b','c','d']

刪除 ---- item不設定

arr.splice(1,1) //['a','c','d'] 刪除起始下標為1,長度為1的乙個值,len設定的1,如果為0,則陣列不變

arr.splice(1,2) //['a','d'] 刪除起始下標為1,長度為2的乙個值,len設定的2

替換 ---- item為替換的值

arr.splice(1,1,'ttt') //['a','ttt','c','d'] 替換起始下標為1,長度為1的乙個值為『ttt』,len設定的1

arr.splice(1,2,'ttt') //['a','ttt','d'] 替換起始下標為1,長度為2的兩個值為『ttt』,len設定的1

新增 ---- len設定為0,item為新增的值

arr.splice(1,0,'ttt') //['a','ttt','b','c','d'] 表示在下標為1處新增一項『ttt』

想要的:定義乙個陣列arr,儲存已勾選上的資料id,改變勾選框的狀態時從陣列中刪除或新增資料id,點選批量刪除時,獲取陣列arr

操作:1.頁面設定

// 全選

<

th nz-th nzcheckbox

>

<

label

nz-checkbox [(ngmodel)]

="_allchecked"

[nzindeterminate]

="_indeterminate"

(ngmodelchange)

="_checkall($event)"

>

label

>

th>

//單選

<

td nz-td nzcheckbox

>

<

label

nz-checkbox [(ngmodel)]

="data.checked"

(ngmodelchange)

="_refreshstatus($event)"

(click)

="onselect(data)"

>

label

>

td>

2.全選操作觸發事件

// 初始化全選和全部取消的狀態

_allchecked = false

; _indeterminate = false

;

_bacthdelete = ;//定義乙個陣列,存放勾選的資料id

// 點選全選觸發的事件

_checkall(value) ,

console.log(

this

._bacthdelete)

);}

else

,

this._bacthdelete=

);console.log(

this

._bacthdelete)

}this

._refreshstatus();

}

3.點選單個資料狀態

es6刪除陣列某項 ES6陣列中刪除指定元素

知識點 es6從陣列中刪除指定元素 findindex 方法返回陣列中滿足提供的測試函式的第乙個元素的索引。否則返回 1。arr.splice arr.findindex item item.id data.id 1 1 js中的splice方法 splice index,len,item 注釋 該...

ES6刪除陣列中指定元

es6刪除陣列中指定元素,例 let array 1,2,3,4 刪除2,array.splice array.findindex item item 2 1 findindex 方法滿足條件時返回數元素下標,否則返回 1 splice index,len,item 刪除 item 不設定,inde...

es6陣列中的遍歷

我經常會運算元組,而且避免不了對每乙個欄位的操作,這樣就會用到遍歷,遍歷有好多種,今天我歸納一下經常會用到的幾個 1 foreach是乙個我們經常用的乙個 var name 張三 李四 王五 name.foreach function v,k 注意 jquery中each方法是反的,比如 name ...