1、翻转字符串
function reverseString(str) {
/** 1、先把字符串分割成数组
2、用数组reverse()方法数组翻转
3、把数组用join()方法拼接成字符串
*/
return str.split('').reverse().join('');
}
reverseString('hello');
2、阶乘
function factorialize(num) {
// 当num为1或0时,返回1
if(num <= 1) {
return 1;
}else {
// 否则返回num*自身的递归
return num * factorialize(num - 1);
}
}
factorialize(5);
3、回文数 (去掉空格、标点符号,大小写)
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。
function palindrome(str) {
str = str.replace(/[\W_]/gi,"");
var str1 = str.split('').reverse().join('');
if(str.toLowerCase() === str1.toLowerCase()) {
return true;
}else {
return false;
}
}
4、寻找最长的单词
返回提供的句子中最长的单词的长度。返回值应该是一个数字。
function findLongestWord(str) {
// 将字符按空格分隔为数组
var arr = str.split(' ');
// 取得数组中的第一个值,默认为是最大值
var max = arr[0];
// for循环数组中的数据
for (var i=1;i<arr.length;i++) {
// 将max的值跟数组中的值做比较
if(max.length < arr[i].length) {
// 把值大的赋值给max变量
max = arr[i];
}
}
console.log(max);
return max.length;
}
findLongestWord("The quick brown fox jumped over the lazy dog");
5、设置首字母大写
返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。
function titleCase(str) {
// 字符串转数组
var arr = str.split(' ');
var arrResult = [];
// for循环取得数组中的单词
for(var i=0;i<arr.length;i++) {
// 将数组中的单词统一转换为小写
var strValue = arr[i].toLocaleLowerCase();
// 把每个单词的首字母替换成大写
var temp = strValue.replace(strValue[0],strValue[0].toLocaleUpperCase());
// 将单词存储数组中
arrResult.push(temp);
if((arr.length - 1) != i){
arrResult.push(' ');
}
}
return arrResult.join('');
}
console.log(titleCase("I'm a little tea pot"));
6、寻找数组中的最大值
在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。
function largestOfFour(arr) {
var arrNew = [];
// 遍历一维数组
for(var i=0;i<arr.length;i++) {
var max = 0;
// 遍历二维数组
for(var j=0;j<arr[i].length;j++) {
// 判断数组中的数据是否是最大值
if(max < arr[i][j]) {
max = arr[i][j];
}
}
arrNew.push(max);
}
console.log(arrNew);
return arrNew;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
7、确认末尾字符
检查一个字符串(str)是否以指定的字符串(target)结尾。
如果是,返回true;如果不是,返回false。
function confirmEnding(str, target) {
var arr = str.split(' ');
if(target.length > 1) {
if(arr[arr.length-1].indexOf(target) > -1){
return true;
}else {
return false;
}
}else {
if(target == str[str.length - 1]) {
return true;
}else {
return false;
}
}
}
confirmEnding("Bastian", "n");