小红书2020年校招前端笔试题
题目:
实现代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>统计字符出现频次</title>
</head>
<body>
<script>
function dupicatedWord(array){
let obj ={};
for(item of array){
obj[item]= obj.hasOwnProperty(item);
}
return obj;
}
console.log(dupicatedWord(['a','b','a','b','c']));
console.log(dupicatedWord(['a','b','c']));
console.log(dupicatedWord(['a','a','a','a']));
</script>
</body>
</html>
分析:直接判断对象是否拥有该属性即可。hasOwnProperty()方法判断对象是否有该属性,有则返回true,没有则返回false。第一次出现该字符时,obj[item]= obj.hasOwnProperty(item);由于obj没有该属性,返回false,
相当于给obj设置item属性,并设为false;第二次以上出现该字符:由于有该属性则返回true,相当于设置该属性为true,正合题意。