for......in
const obj = { id:1, name:'zhangsan', age:18 } for(let key in obj){ console.log(key + '---' + obj[key]) }
判断是否包含key
//第一种
obj.hasOwnProperty("key") //包含
//第二种
if(name in obj){
...
}
得到一个对象有几个key
第一种
Object.keys(obj).length
第二种
var jsona={a:1,b:2,c:3}; var keycount=0; for (var item in jsona){ keycount++; } alert (keycount)
js计算数组中每个元素出现的次数
计算数组中每个元素出现的次数 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; }, {});
封装成方法
Array.prototype.countTimes = function(){ return this.reduce(function(time,name){ if(name in obj){ obj[name]++; }else{ obj[name] = 1; } return obj; },{}); }