常见的算法操作

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
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
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
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
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.凯撒密码
常见的算法操作_第1张图片
图解

rot13("SERR PBQR PNZC"); // 你可以修改这一行来测试你的代码
转化后:
FREE CODE CAMP

function rot13(str) { // LBH QVQ VG!
  var newArr = [];
  for(var i=0;i90){
      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("");
}

你可能感兴趣的:(常见的算法操作)