删除 object 中多个 key 有什么优雅的写法吗?

delete object.nid
delete object.uuid
delete object.desktop
delete object.isHide
delete object.sortId
delete object.dateBean

类似这种需要删除很多个元素的有什么优雅的写法吗?

阅读 7.2k
2 个回答

key值放到一个数组中,然后循环删除key值:

var keys = ["nid", "uuid", "desktop", "isHide", "sortId", "dateBean"];
keys.forEach(function(item) {delete object[item]});

//首先定义一个函数来判断数组中是否有某个元素,我选择给数组对象拓展一个方法

Array.prototype.contains = function ( needle ){

for (i in this) {
    if (this[i] == needle) return true;
}
return false;

};

//然后这里模拟一个要删除的array
var delArr = ['nid', 'uuid', 'desktop', 'isHide', 'sortId', 'dateBean'];

for(var key in object){

if(delArr.contains(key)){
    delete object[key];
}

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题