<!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>
