<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
// 1. 找出出现最多的字母,找出字符串中出现次数最多的字母,将该
// 字母串中出现次数最多的字母,将该字母和字母出现的次数拼接成一个
// 新字符串,返回新字符串
// 传入:” WelcomeToQianfeng”;
// 返回:”e3”; (要求编写成函数)
//
function func(str){
var arr=[];
for(var i=0;i<str.length;i++){
var freq=-1;
var j=0;
do{
freq=str.indexOf(str[i],freq+1);
if(freq != -1){
j++;
}
}while(freq != -1){
arr[j]=str[i];
}
}
console.log(arr.length-1);
console.log(arr[arr.length-1]);
console.log(arr.length-1+arr[arr.length-1]);
}
func("WelcomeToQianfeng");
// 2. 将字符中单词用空格隔开
// 已知传入的字符串中只有字母,每个单词的首字母大写,请将每个
// 单词用空格隔开,只保留一个单词的首字母大写
// 传入:”HelloMyWorld”
// 返回:”Hello my world”
var str2={};
function word(str1){
for(var i=1;i<str1.length;i++){
if(/[A-Z]/g.test(str1[i])){
if(/[a-z]/g.test(str1[i-1])){
str1=str1.replace(str1[i]," "+str1[i]);
}
}
}
str2=str1.substring(1);
console.log(str1[0]+str2.toLowerCase());
}
word("HelloMyWorld");
// 3. 已知一个字符串对象中,英语单词用各种非字母字符分割,统计
// 单词的个数
// 传入: “Yes,she**is%%my@love.”
var k=0;
var j=0;
var newarr=[];
function num(str){
for(var i=0;i<str.length;i++){
if(/[A-Za-z]/gi.test(str[i])){
if(/[A-Za-z]/gi.test(str[i+1])){
}else{
newarr[k]=str.substring(j,i+1);
i++;
j=str.indexOf(str[i])+1;
k++;
}
}else{
j=str.indexOf(str[i+1]);
}
}
console.log(k);
console.log(newarr);
}
num("Yes,she****is%%*my@love.");
// 1. 将字符串按照单词进行逆序,空格作为划分单词的唯一条件
// 传入:”Welome to Beijing”改为 “Beijing to Welcome”
var arr=[];
var str3="Welome to Beijing",
arr=str3.split(" ");
console.log(arr);
var str4=arr.reverse();
console.log(str4.join(" "));
// 2. 对称数组
// 传入一个数组,起元素类型与个数皆未知,返回新数组,由原数组
// 的元素正序反序拼接而成
// 传入[“One”, “Two”,”Three”] 返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]
var arr1=["One", "Two","Three"];
var arr2=arr1.reverse();
console.log(arr1+","+arr2);
// 3. 实现函数,查找子串出现的次数,返回字符串str中出现substring的次数
// 传入:”abcabcabc”, “abc”; 返回:3
function matching(str){
var index,j=0;
var hh="abc";
var index=str.indexOf(hh);
while(str.indexOf(hh)>-1){
j++;
str=str.substring(index+hh.length);
}
console.log(j)
}
var str5="abcabcabc";
matching(str5)
// 4. 已知千锋邮箱的用户名只能由数字字母下划线组成,域名为@1000phone.com
// ,判断一个字符串是否是千锋邮箱,是返回true,不是返回false。
// mail@1000phone.com 是
// $mail@1000phone.com 不是
// mail@1000phone.comp 不是
function mail(str){
var arr=str.split("@");
if(arr.length=2){
if(arr[1]=="1000phone.com"){
for(var i=0;i<arr[0].length;i++){
if(/[A-Za-z0-9_]/g.test(arr[0][i])){
return true;
}else{
return false;
}
}
}else{
return false;
}
}else{
return false;
}
}
var a="mail@1000phone.com";
var b="$mail@1000phone.com.";
var c="mail@1000phone.comp";
console.log(mail(c));
</script>
</body>
</html>