JS提升篇:删除对象中的某个属性

1,147 阅读1分钟

方法1

删除对象的属性唯一真正的方法,但它的工作比其“替代”object[key] = undefined设置慢100倍。

var myObject = {
    "ircEvent": "PRIVMSG",
    "method": "newURI",
    "regex": "^http://.*"
};
delete myObject.regex;

方法2

这个选择不是这个问题的正确答案!但是,如果小心使用它,可以大大加快一些算法。

var obj = {
    field: 1     
};
obj.field = undefined;

数组中使用delete

在数组中,与普通的旧对象不同,使用delete在表单中留下垃圾,null在数组中创建一个“洞”, 而且length不变

var array = [1, 2, 3, 4];
delete array[2];
/* Expected result --> [1, 2, 4]
 * Actual result   --> [1, 2, null, 4]
 */

来源:CSDN