js字符串方法练习----上
Posted 安雁-zzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js字符串方法练习----上相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> // 1、封装函数 检查字符串结尾: 例如:输入confirmEnding("He has to give me a new name", "me")返回true function confirmEnding(str, strPart) { // 获取长度 var strLen = str.length, strPartLen = strPart.length; // 定义字符串从什么位置开始截取 var num = strLen - strPartLen; // 3种方法。slice()、substring()、substr() // if (strPart == str.slice(num)) { // return true; // } else { // return false; // } return (strPart === str.slice(num)); } console.log(confirmEnding("He has to give me a new name", "ffme")); // 2、封装函数 用来反转数字 例如:输入reverseNumber(123456);返回654321 function reverseNumber(num) { // 思路:字符串没有反转的方法,先转换为数组进行反转,然后将反转之后的数组转为字符串 split() reverse() join() var num = num + ""; // Number转化为字符串 var arrNum = num.split("").reverse(); // 将字符串转为数组并反转 var strNum = +(arrNum.join("")); // 将数组装换为字符串并转成Number return strNum; } console.log(reverseNumber(123456)); // 3、判断两边是否对称。输入isPalindrome(‘hello‘);返回false;输入isPalindrome(‘madam‘);返回true function isPalindrome(str) { // 奇数情况:3 5 7 9 11 // 1.5 2.5 3.5 4.5 5.5 向上取整 // 偶数情况:len/2分两边,反转一边,判断两边是否一样 var len = str.length; var num, str1; // 前面为偶数,后面为奇数 len % 2 == 0 ? num = len / 2 : num = Math.ceil(len / 2); len % 2 == 0 ? str1 = str.slice(0, num).split("").reverse().join("") : str1 = str.slice(0, num - 1).split("").reverse().join(""); // 进行判断 return (str1 === str.substring(num)); } console.log(isPalindrome("hello"), isPalindrome("madam")); // 4、写一个函数对传入的字符串输出所有子字符串组合 例如输入substrings(‘dog‘); 返回[‘d‘, ‘do‘, ‘dog‘, ‘o‘, ‘og‘, ‘g‘] function substrings(str) { var arr = []; var len = str.length for (var i = 0; i < len; i++) { for (var j = 1; j <= len - i; j++) { arr.push(str.substr(i, j)) } } return arr } console.log(substrings(‘dog‘)); // 5、写一个函数对传入的字符串重新按字母排序 例如 输入reorderStr(‘webmaster‘);返回 abeemrstw function reorderStr(str) { return str.split("").sort().join(""); // 转换为数组,数组进行排序,然后转换为字符串 } console.log(reorderStr(‘webmaster‘)); // 6、写一个函数对传入的字符串中每个单词的首字母大写 输入myCap(‘the quick brown fox‘); 返回The Quick Brown Fox function myCap(str) { var arrStr = str.split(" "); // 通过" "转换为数组 var len = arrStr.length; // 遍历取每一项的首字母 for (var i = 0; i < len; i++) { arrStr[i] = arrStr[i].substring(0, 1).toUpperCase() + arrStr[i].substring(1); } return arrStr.join(" "); } // console.log(myCap(‘the quick brown fox ddd‘)); // 7、写一个函数找出传入的字符串中最长的单词 例如:输入findLongest(‘Web Development Tutorial‘); 返回 Development function findLongest(str) { var arrFind = str.split(" "); // 将字符串转化为数组 var len = arrFind.length; var maxLen = ""; // 定义变量接受最大值,初始为数组的第一项 // 遍历数组中的每一项,进行长度大小对比 for (var i = 0; i < len; i++) { if (arrFind[i].length > maxLen.length) maxLen = arrFind[i]; } return maxLen; } console.log(findLongest(‘Web Development Tutorial f‘)); // 8、封装函数 实现toUpperCase方法 例如: 输入myUpperCase("hello"); 返回HEllo charCodeAt()方法 function myUpperCase(str) { var len = str.length; var arrStr = str.split(""); var arr = []; for (var j = 0; j < len; j++) { if (arrStr[j].charCodeAt() >= 97 && arrStr[j].charCodeAt() <= 122) { // 如果是小写,进入此判断 arr[j] = String.fromCharCode(arrStr[j].charCodeAt() - 32); // 将小写转换为大写 } else { // 如果不是小写 arr[j] = arrStr[j]; // 返回本身 } } return arr.join(""); } console.log(myUpperCase("Hello")); // 9、封装函数 实现数组sort的方法(参考冒泡排序)例如:输入mySort([2,33,41,10,5]); 返回 [2,5,10,33,41] function mySort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1; j++) { var basket; // 定义一个箩筐,方便两个值互换 if (arr[j] > arr[j + 1]) { basket = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = basket; } } } return arr; } console.log(mySort([2, 33, 41, 10, 5])); // 10、封装函数 重复输出字符串。例如:输入repeat("abc", -2); 返回abc;输入repeat("abc", 3); 返回abcabcabc;输入repeat("abc", 2); 返回abcabc function repeat(str, num) { var str1 = ""; // 定义变量接受遍历后的结果 // 1、判断num的值,为负或等于0时返回本身 if (num <= 0) { return str; } else if (num > 0) { // 为正遍历叠加他本身num遍 for (var i = 0; i <= num - 1; i++) { str1 += str; } return str1; }else{ // 其他情况返回它本身 return num; } } console.log(repeat("abc", 6)) // </script> </body> </html>
以上是我练习字符串方法所写,还有很多需要精进和修改的内容,欢迎指出,谢谢!!!
以上是关于js字符串方法练习----上的主要内容,如果未能解决你的问题,请参考以下文章