freeCodeCampFreecodecampJavaScript学习笔记

Freecodecamp算法

2016-11-28  本文已影响32人  德坤丨

今天做到了 Freecodecamp上面的第一个算法题,虽然很基础,但还是记一下自己用的知识
每一道算法题都跟你罗列了需要用的知识,仔细查看很有用的

翻转字符串先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。你的结果必须得是一个字符串

根据题目要求大概知道需要用到三个知识

可以将平时刷题觉得重要指示储存在印象笔记中

最终实现代码如下

function reverseString(str) {
  var arr = str.split("");
  arr =  arr.reverse();
  arr = arr.join("");
  return arr;
}
reverseString("hello");


Factorialize a Number
问题描述: 计算一个整数的阶乘如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积
思路就是:

function factorialize(num) {
  var number = 1;
  for (var i = 1;i<=num;i++) {
    number = number * i;
  }
  return number;
}
factorialize(5);

Find the Longest Word in a String

找到提供的句子中最长的单词,并计算它的长度。函数的返回值应该是一个数字。
思路

代码实现如下

function findLongestWord(str) {
  var arr = str.split(" ");//转换为数组
  var num = 0;
  for (var i = 0;i < arr.length;i++) { //遍历数组arr
    if (arr[i].length > num) {  //
      num = arr[i].length;
    }
  }
  return num;
}
findLongestWord("The quick brown fox jumped over the lazy dog");

题目

确保字符串的每个单词首字母都大写,其余部分小写。

思路

将字符串小写并切割为数组,接着用replace方法返回替换掉的值,最终将数组合并为字符串

步骤

实现代码如下

function titleCase(str) {
  var arr = str.toLowerCase().split(" ");
  for (var i in arr) {
    arr[i] = arr[i].replace(arr[i].charAt(0),arr[i].charAt(0).toUpperCase());
  }
  return arr.join(" ");
}

titleCase("I'm a little tea pot");
上一篇 下一篇

猜你喜欢

热点阅读