1.字符串中 单词的首字母大写其他字母小写
titleCase("I'm a little tea pot");
转化为
I'm A Little Tea Pot
function titleCase(str) {
//将所有的字母都转化为小写
str = str.toLowerCase();
//字符串转化为数组
var arr = str.split(" ");
//创建新数组 并把老数组中每个元素首字符转化为大写,剩下的字符转小写
var newArr = [];
for(var i = 0;i<arr.length;i++){
newArr.push(arr[i].slice(0,1).toUpperCase()+arr[i].slice(1));
}
//再将数组转化为字符串用空格隔开
return newArr.join(" ");
}
2.找出多个数组中的最大数
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
转化为:
[5,27,39,1001]
function largestOfFour(arr) {
//处理排序问题
function newSort(a,b){
return a-b;
}
var newArr = [];
for(var i= 0;i<arr.length;i++){
//数组的每个子元素数组进行从小到大排序
var newChildArr = arr[i].sort(newSort);
//再把排好序的 每个子元素数组中 最后一个值也就是最大值 抛出来 放到新的数组中
newArr.push(newChildArr[newChildArr.length-1]);
}
return newArr;
}
3.检查字符串结尾
confirmEnding("Bastian", "n"); //true
confirmEnding("He has to give me a new name", "me"); //true
confirmEnding("He has to give me a new name", "na") //false
function confirmEnding(str, target) {
//将字符串拆分为数组
var arr = str.split(" ");
//获取数组的最后一个元素
var lastElement = arr[arr.length-1];
//截取最后一个元素(目标元素的位数相同个数) 然后和目标元素比较
if(lastElement.slice(-target.length)===target){
return true;
}else{
return false;
}
}
ps:截取最后几位可以用
var string = "abcdefg";
截取最后两位
string.slice(-2);
4.重复输出字符串
repeat("-", 3) 应该返回 "---".
repeat("abc", 3) 应该返回 "abcabcabc".
repeat("abc", 4) 应该返回 "abcabcabcabc".
function repeat(str, num) {
//将重复字符串放到一个新的数组中
var newArr = [];
for(var i=0;i<num;i++){
newArr.push(str);
}
//将数组转化为字符串
return newArr.join("");
}
5.数组分割
chunk(["a", "b", "c"], 2);
转化为:
[["a","b"],["c"]]
chunk([1, 2, 3,4], 2);
转化为:
[[1,2],[3,4]]
function chunk(arr, size) {
//定义一个空的数组
var newArr = [];
for(var i = 0;i<Math.ceil(arr.length/size);i++){
var start = i * size;
var end = start+size;
newArr.push(arr.slice(start,end));
}
return newArr;
}
chunk(["a", "b", "c"], 2);
5.
where([40, 60], 50);
50添加到数组中,排序,然后找出50所在的索引值 //1
function where(arr, num) {
arr.push(num);
arr.sort(function(a,b){return a-b;});
return arr.indexOf(num);
}
where([40, 60], 50);
7.凯撒密码
rot13("SERR PBQR PNZC"); // 你可以修改这一行来测试你的代码
转化后:
FREE CODE CAMP
function rot13(str) { // LBH QVQ VG!
var newArr = [];
for(var i=0;i<str.length;i++){
var numbers = str.charCodeAt(i);
if(numbers<65||numbers>90){
newArr.push(String.fromCharCode(numbers));
}else if(numbers>77){
newArr.push(String.fromCharCode(numbers-13));
}else{
newArr.push(String.fromCharCode(numbers+13));
}
}
return newArr.join("");
}