题目:返回一个数组,描述数组中各个元素出现的次数。
思路:用哈希表,在javascript中也就是对象,因为js的对象不允许重复的键,所以js对象就当做哈希表来用。
用for循环访问数组的每一个元素,先判断哈希表里面有没有这个元素,没有的话就将当前元素插入哈希表中,同时赋值为1,代表出现一次。
如果哈希表里面有这个元素,那么就将它的值加一。
判断对象中有没有一个属性,可以用 obj[arr[i]] !== undefined来判断。
let arr = [1,1,2,2,3,4,5,5,7];
function fun(arr){
let obj = {};
for(let i = 0;i<arr.length;i++){
if(obj[arr[i]]!==undefined){obj[arr[i]]++;}
else{obj[arr[i]] = 1;}
}
return obj;
}
console.log(fun(arr));
该博客介绍了一种使用JavaScript解决统计数组中各元素出现次数的方法,通过创建哈希表(JavaScript对象)实现。利用for循环遍历数组,若对象中不存在当前元素,则将其添加并赋值为1;若存在,则将对应值加一。通过obj[arr[i]] !== undefined来判断对象中是否存在某个属性。
937

被折叠的 条评论
为什么被折叠?



