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。