欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

數(shù)組/對(duì)象數(shù)組刪除其中某一項(xiàng)

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

對(duì)于我們前端來說,數(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' } ] 這種暫且稱之為對(duì)象數(shù)組

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

1、知道要?jiǎng)h除項(xiàng)在數(shù)組中的下標(biāo)

2、知道要?jiǎng)h除項(xiàng)的值

3、如果要?jiǎng)h除項(xiàng)是一個(gè)對(duì)象,而且我們知道這個(gè)對(duì)象中的唯一屬性值

//1、知道要?jiǎng)h除項(xiàng)的下標(biāo)值
//index為刪除項(xiàng)的下標(biāo)值 ?arr為源數(shù)組
var arrRemoveIndex = function(index,arr) {
? ? if (!arr || arr.length == 0) {
? ? ? ? return ""
? ? }
? ? arr.splice(index,1)
? ? return arr
}
?
//2、知道要?jiǎng)h除項(xiàng)的值
//it 為要?jiǎng)h除項(xiàng)的值 ?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、如果要?jiǎng)h除項(xiàng)為對(duì)象,我們需要知道該對(duì)象屬性中的唯一值(不會(huì)重復(fù)的值)
//arr是源數(shù)組,attr是目標(biāo)數(shù)組中的屬性名稱,value是要?jiǎng)h除的屬性名稱對(duì)應(yīng)的值
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'}]

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

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

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

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

相關(guān)文章

最新評(píng)論