猿问

大数组如何根据对象的key快速找到并删除?

如题js中一个非常大的数组如何根据对象的key(不是数组ID)快速找到并删除?对效率要求较高。
人到中年有点甜
浏览 622回答 2
2回答

慕妹3146593

functiondeleteByKey(key,arr){arr=arr||thisif(arr){varidx=arr.findIndex(function(item){returnitem.key==key})if(idx>-1){arr.splice(idx,1)returntrue}else{returnfalse}}else{returnfalse}}Object.defineProperty(Array.prototype,'deleteByKey',{value:deleteByKey})varmodel=[{key:100,name:'Holmes'},{key:101,name:'Jack'},{key:102,name:'Jobs'}]varmodel1=[{key:100,name:'Holmes'},{key:101,name:'Jack'},{key:102,name:'Jobs'}]deleteByKey(100,model)//函数式调用model1.deleteByKey(102)//数组实例方法调用//函数返回值>>执行了删除操作返回true,否则返回false
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答