亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS實現(xiàn)數(shù)組/對象數(shù)組刪除其中某一項

 更新時間:2022年09月01日 11:33:47   作者:NAMECZ  
這篇文章主要介紹了JS實現(xiàn)數(shù)組/對象數(shù)組刪除其中某一項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

數(shù)組/對象數(shù)組刪除其中某一項

由于日常工作中經(jīng)常需要對數(shù)組進行操作,最經(jīng)常使用到的就是對數(shù)組進行的刪除操作

對于我們前端來說,數(shù)組有兩種區(qū)別

  • 1、var arr = [ 'aaa' , 'bbb' , 'ccc' , ' ddd' , 'eee' ]  這種暫且稱之為純數(shù)組
  • 2、var jsonArr =  [ { name: 'cz' , age: '25'} , { name: 'mp' , age: '18'} , { name:'lyy' , age: '18' } ] 這種暫且稱之為對象數(shù)組

首先,我們要刪除數(shù)組中的某一項,我們一定要知道下邊三種條件中的其中一種,才能達到精確刪除的目的

1、知道要刪除項在數(shù)組中的下標

2、知道要刪除項的值

3、如果要刪除項是一個對象,而且我們知道這個對象中的唯一屬性值

//1、知道要刪除項的下標值
//index為刪除項的下標值 ?arr為源數(shù)組
var arrRemoveIndex = function(index,arr) {
? ? if (!arr || arr.length == 0) {
? ? ? ? return ""
? ? }
? ? arr.splice(index,1)
? ? return arr
}
?
//2、知道要刪除項的值
//it 為要刪除項的值 ?arr為源數(shù)組
var arrRemove = function (it, arr) {
? ? if (!arr || arr.length == 0) {
? ? ? ? return ""
? ? }
? ? let flag = arr.indexOf(it)
? ? if (flag > -1) {
? ? ? ? arr.splice(flag, 1)
? ? ? ? return arr
? ? } else {
? ? ? ? console.log("未查找到該元素")
? ? }
}
?
//3、如果要刪除項為對象,我們需要知道該對象屬性中的唯一值(不會重復的值)
//arr是源數(shù)組,attr是目標數(shù)組中的屬性名稱,value是要刪除的屬性名稱對應的值
var arrRemoveJson = function (arr, attr, value) {
? if (!arr || arr.length == 0) {
? ? return ""
? }
? let newArr = arr.filter(function (item, index) {
? ? return item[attr] != value
? })
? return newArr
}
?
let arr = ['aaa','bbb','ccc','ddd']
let arrJson = [{ id: 1 , name: 'cz'},{ id: 2 , name: 'mp'},{ id: 3 , name: 'xp'}];
let newArr1 = arrRemoveIndex(1,arr); ?// ['aaa','ccc','ddd']
let newArr2 = arrRemove('bbb',arr); ? // ['aaa','ccc','ddd']
let newArr3 = arrRemoveJson(arr,'id','2') //[{id:1,name:'cz'},{id:3,name:'xp'}]

以上可以放到工具類,方便反復調(diào)用。 

移除對象數(shù)組中指定元素

arr.splice(arr.findIndex(i => i.id === id), 1);

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關文章

最新評論