object.key与object[key]的差异

来源:互联网 发布:时时彩模拟软件 编辑:程序博客网 时间:2024/05/21 12:46
今天在做项目的时候用到了delete object.key 这个方法来删除对象中的某一个键值对,然后通过Object.keys(object).length来打印对象键值对数时,发现结果跟我预想的不同,通过测试发现, delete object.key   和delete object[key]  这两种方法删除键值对的结果是不同的,不多说,直接上代码:
var deletekey;var obj = { a: 111, b: {}, c: 444, d: { 1: 4 } };for (var key in obj) {    var v = obj[key];    if (v === 111) {        deletekey = key;    }}delete obj.deletekey;console.log(Object.keys(obj).length);
打印结果:4
如果把代码中的delete obj.deletekey用delete obj[deletekey]替换,打印结果就变成3,也就是我预想的结果
 
原创粉丝点击