题目
请补全JavaScript代码,要求找到参数数组中出现频次最高的数据类型,并且计算出出现的次数,要求以数组的形式返回。
注意:
1. 基本数据类型之外的任何引用数据类型皆为"object"
2. 当多种数据类型出现频次相同时将结果拼接在返回数组中,出现次数必须在数组的最后
编辑
核心代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>高频数据类型</title> </head> <body> <!-- 声明一个临时对象,用于存储数据类型和该数据类型出现的频次 声明一个数组,用于返回结果 声明一个数字,用于保存出现最高频的数据类型次数 通过遍历数组,更新临时对象的内容并且修改数字 最后通过遍历对象,判断是否存在某个数据类型出现的频次和当前最高频次的数据类型出现次数相等并进行拼接 --> <script>const _findMostType = array => { let tem = {} let arr = [] let num = 0 for (key of array) { let type = typeof key if (tem[type]) { tem[type]++ } else { tem[type] = 1 } num = tem[type] > num ? tem[type] : num } for (key in tem) { arr = tem[key] === num ? [...arr, key] : arr } return</script> </body> </html>
总结
声明一个临时对象,用于存储数据类型和该数据类型出现的频次
声明一个数组,用于返回结果
声明一个数字,用于保存出现最高频的数据类型次数
通过遍历数组,更新临时对象的内容并且修改数字
最后通过遍历对象,判断是否存在某个数据类型出现的频次和当前最高频次的数据类型出现次数相等并进行拼接