如题js中一个非常大的数组如何根据对象的key(不是数组ID)快速找到并删除?对效率要求较高。
2 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
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
添加回答
举报
0/150
提交
取消
