原字符串:I am very very happy today 以下操作实际是对 Array 的操作
一、逆序输出
理想结果:today happy very very am I
实现方式:reverse()
let Str='I am very very happy today';return Str.split(' ').reverse().join(' ');
二、完全逆序
理想结果:yadot yppah yrev yrev ma I
let Str='I am very very happy today';return Str.split(' ').reverse().join(' ').split('').join('');
三、去除重复项
理想结果:I am very happy today
实现方式:ES6 Set() 构造函数可以过滤重复项
let Str = 'I am very very happy today';return Array.from(new Set(Str.split(' '))).join(' ');
四、统计出现次数最多的字母
实现方式:对数组的分析和整理,以及对 Sort() 排序的使用
let Str = 'I am very very happy today';let onlyChar = Array.from(new Set(Str.replace(/\s*/g, '').split('')));let result = [];function check(key, data) {let num = 0;data.forEach(element => {if (element === key) num++;});result.push({ name: key, sum: num });}let theData = Str.replace(/\s*/g, '').split('');onlyChar.forEach(element => check(element, theData));let SortData = result.sort((obj1, obj2) => {return -(obj1.sum - obj2.sum);});return SortData[0].name;
五、统计字符串中的第一个非重复的字符
实现方式:使用 filter() 函数对数组进行过滤
//基于上面的代码return SortData.filter(p => p.sum === 1)[0].name;
