计算数组中每个元素出现的次数

计算数组中每个元素出现的次数

var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

var countedNames = names.reduce(function (allNames, name) { 
  if (name in allNames) {
    allNames[name]++;
  }
  else {
    allNames[name] = 1;
  }
  return allNames;
}, {});
// countedNames is:
// { 'Alice': 2, 'Bob': 1, 'Tiff': 1, 'Bruce': 1 }
// 如果我们要检测对象是否拥有某一属性,可以用in操作符
var obj= {
    name: '类老师',
    age: 18,
    school: '家具'  
};
console.log('age' in obj); // true
console.log('grade' in obj); // false
// 因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以obj也拥有toString属性。
// 要判断一个属性是否是obj自身拥有的,而不是继承得到的,可以用hasOwnProperty()[has er en po per t]方法:
var obj= {    
    name: '陈三',    
    age: 18,    
    school: '宇宙银河系'  
};
obj.hasOwnProperty('name'); // true
obj.hasOwnProperty('toString'); // false
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容