一文搞清 js 中 if ( in ) 用法

 

请看下面的例子:

 

        let names = ['Lily', 'Barry', 'Dendi', 'Boogie', 'Lily'];

        let nameNum = names.reduce((pre, cur) => {
            if (cur in pre) { //pre 中是否有 cur 属性
                pre[cur]++;
            } else {
                pre[cur] = 1; //为 pre 这个对象添加 cur 属性,并且赋值为 1
            }
            return pre;
        }, {}) //reduce(), ES6数组归并方法,这里初始值设置为一个空对象

        console.log(nameNum); //{Barry: 1,Boogie: 1,Dendi: 1,Lily: 2  }

 

可以看出,if ( key in obj) 意思是 obj 中是否有 key 属性 ,有则返回 true, 没有则返回 false

 

posted @ 2019-08-30 09:07  CloudBarryChen  阅读(4903)  评论(0编辑  收藏  举报