nums = [1, 1, 1, 3, 3, 3, 2, 2, 3, 1, 3, 3, 5, 3, 3],
提示:
创建一个空对象
遍历原数组
从第一个开始往数组中放,如果不存在 新数组中这个元素的个数就是1 已经存 在 个数 就累加1 然后 数组元素作为键 次数作为值 写入对象。
var nums = [1, 1, 1, 3, 3, 3, 2, 2, 3, 1, 3, 3, 5, 3, 3];
// 定义一个函数
// 结果:{1:4, 3:8, 2:2, 5:1}
// 数组的元素作为键 出现的次数作为值
/**
* @description: 数组中每个元素出现的次数
* @param {Array} arr 数组
* @return {Object} 返回一个对象,对象中的属性是数组中的元素,属性值是元素出现的次数
*/
function getNums(arr){
// 创建一个空对象
var obj = {};
// 遍历数组
// 1. for(var 变量 in 数组){}
// 2. for(var 变量=0;i<数组.length;i++){}
for(var i in arr){
// i 是数组中的索引
// console.log(i);
if(obj[arr[i]] == undefined){
obj[arr[i]] = 1;
}else{
obj[arr[i]]++;
}
// if(!(arr[i] in obj)){
// }else{
// }
}
return obj;
}
// console.log(getNums(nums));
// var test = {
// name: 'sunyue',
// age:18
// }
// // console.log(test['height']); // undefined
// console.log('height' in test); // false