一 、封装函数, 判断变量的数据类型
代码截图如下:
打印结果如下:
js源码如下:
// 写一个函数来判断变量的数据类型:
// !1# 封装一个函数
const isType = (con)=>{
const type = Object.prototype.toString.call(con)
switch(type){
case '[object Number]':
return 'number'
case '[object String]':
return 'string'
case '[object Null]':
return 'null'
case '[object Boolean]':
return 'boolean'
case '[object Undefined]':
return 'undefined'
case '[object BigInt]':
return 'bigInt'
}
}
// !2# 调用封装函数并传参
const temp1 = '我是字符串'
console.log(isType(temp1)) //string
const temp2 = 123
console.log(isType(temp2)) //number
const temp3 = null
console.log(isType(temp3)) //null
const temp4 = undefined
console.log(isType(temp4)) //undefined
const temp5 = true
console.log(isType(temp5)) //boolean
二 、统计字符出现的频率(方法一 for)
代码截图如下:
打印结果如下:
js源码如下:
const str ='sdadagdsfagdsafsdasaddagd'
const obStr = (str) =>{
const abc = {}
for(let i = 0;i<str.length;i++){
if(abc[str[i]]){
abc[str[i]]++
}else{
abc[str[i]]=1
}
}
return abc
}
// 此时可以筛选出每个字符出现的次数了
console.log(obStr(str)) // {s: 5, d: 8, a: 7, g: 3, f: 2}
function getMax(abc){
let max = 0
let srr = ''
for(let attr in abc){
if(abc[attr]>max){
srr = attr
max = abc[attr]
}
}
return `出现最多的字符是 ${srr} , 出现了 ${max} 次`;
// 出现最多的字符是 d , 出现了 8 次
}
console.log(getMax(obStr(str)))
二 、统计字符出现的频率(方法二 reduce)
代码截图如下:
打印结果如下:
js源码如下:
const str ='sdadagdsfagdsafsdasaddagd'
console.log(str.split('')) //['s', 'd', 'a', 'd', 'a', ...]
const r = str.split('').reduce((acc,cur)=>{
acc[cur] ? acc[cur]++ : (acc[cur] =1) // 三元写法
// if(acc[cur]){ // 常规if 写法
// acc[cur]++
// }else{
// acc[cur] =1
// }
return acc
},{})
console.log(r) // {s: 5, d: 8, a: 7, g: 3, f: 2}