1.首先创建一个字符串, let str = "asdsaqweasdasdffj";
let str = "asdsaqweasdasdffj";
核心思路:
- 首先,通过
split("")
方法将给定的字符串str
分割成一个字符数组,每个元素都是字符串中的一个字符。- 接着,使用
reduce
方法对字符数组进行遍历和累计操作。- 在每次遍历中,首先判断累计变量
obj
的构造函数是否为Object
,如果不是,则将obj
重置为空对象。- 然后,检查
obj
对象中是否已经存在以当前字符item
为属性名的属性。如果该属性已存在,则将该属性值加1;否则,在obj
对象中新增一个以item
为属性名的属性,并将其初始值设为1。- 最后,返回累计结果
obj
。//判断出现次数 let num = str.split("").reduce((obj, item, index) => { if (obj.constructor != Object) obj = {}; obj[item] ? obj[item]++ : (obj[item] = 1); return obj; }); console.log(num);
运行结果: