1、将摄氏度转换为华氏度
//将摄氏度转换为华氏度的计算方式为:摄氏度乘以 9/5 然后加上 32。
function convertToF(celsius) {
let fahrenheit = celsius*(9/5) + 32;
return fahrenheit;
}
convertToF(30);
2、反转字符串reverse()
1、在翻转字符串之前可以通过str.split()方法将字符串分割成数组;
2、利用reverse()方法翻转数组
3、利用join()方法将数组的所有元素放入一个字符串
function reverseString(str) {
console.log(str.split('').reverse().join(''))
return str.split('').reverse().join('');
}
reverseString("hello");
3、计算整数的阶乘
1、使用递归实现阶乘
//要求factorialize(0)时返回1
function factorialize(num) {
if(num <= 0){
return 1
}else{
return num*factorialize(num-1)
}
}
factorialize(5);
2、使用for循环实现阶乘
function factorialize(num) {
let result = 1
if(num <= 1){
return 1
}
for(let i=1;i<=num;i++){
result = result*i
console.log(result)
}
return result
}
factorialize(5);
还可以使用while和do-while循环实现阶乘
//while循环
function factorialize(num) {
let result = 1
while(num >= 1){
result *= num
num --
}
console.log(result)
return result
}
factorialize(5);
//do-while循环
function factorialize(num) {
let result = 1
if(num <= 0){
return 1
}
do{
result *= num
num--
}while(num >= 1)
return result
}
factorialize(5);
4、找出字符串中的最长单词
1、利用数组的sort方法
function findLongestWordLength(str) {
let strArray = str.split(' ') //将字符串利用split()方法分割成数组
strArray.sort( (a,b) => {
return b.length - a.length
})
return strArray[0].length
}
findLongestWordLength("The quick brown fox jumped over the lazy dog");
2、使用for循环和三元运算符
function findLongestWordLength(str) {
let strArray = str.split(' ')
let length = 0
for(let i=0;i<strArray.length;i++){
length = strArray[i].length > length ? strArray[i].length : length
}
return length
}
findLongestWordLength("The quick brown fox jumped over the lazy dog");
5、找出多个数组中的最大数字
function largestOfFour(arr) {
let newArray = []
for(let i=0;i<arr.length;i++){
arr[i].sort( (a,b) => {
return b - a
})
newArray.push(arr[i][0])
}
console.log(newArray)
return newArray;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
6、确认结尾
用到字符串的substr()方法,从目标字符串中抽取指数目的字符
function confirmEnding(str, target) {
let start = str.length - target.length
let count = str.substr(start,target.length)
if(count === target){
return true
}else{
return false;
}
}
confirmEnding("Bastian", "n");
7、重复输出字符串
使用repeat()或者使用递归函数
function repeatStringNumTimes(str, num) {
// console.log(str.repeat(num))
if(num <= 0){
return ""
}else{
return str+repeatStringNumTimes(str,num-1)
}
}
repeatStringNumTimes("abc", 3);
8、截断字符串
function truncateString(str, num) {
if(str.length>num){
return str.slice(0,num)+"...";
}
return str
}
truncateString("A-tisket a-tasket A green and yellow basket", 8);
9、按参数过滤数组
function findElement(arr, func) {
for(let i=0;i<arr.length;i++){
if(func(arr[i])){
return arr[i];
}
}
return undefined
}
findElement([1, 2, 3, 4], num => num % 2 === 0);
10、基本类型布尔值的检查
function booWho(bool) {
return (typeof bool == "boolean") ? true : false;
}
booWho(false);
11、把字符中每个单词的首字母换成大写
function titleCase(str) {
let strArr = str.split(' ')
let result = []
for(let i=0;i<strArr.length;i++){
result.push(strArr[i].substring(0,1).toUpperCase() + strArr[i].substring(1).toLowerCase())
}
return result.join(' ')
}
titleCase("I'm a little tea pot");
12、Slice 与 Splice复制数组并插入另一个数组的指定位置
function frankenSplice(arr1, arr2, n) {
let newArr = arr2.slice()
newArr.splice(n,0,...arr1)
return newArr
}
frankenSplice([1, 2, 3], [4, 5, 6], 1);
13、过滤数组中的假值
1、arr.filter()
function bouncer(arr) {
return arr.filter(Boolean);
}
bouncer([7, "ate", "", false, 9]);
2、arr.forEach()
function bouncer(arr) {
let newArr = []
arr.forEach(item => {
if(item){
newArr.push(item)
}
})
return newArr
}
bouncer([7, "ate", "", false, 9]);
3、for…of
function bouncer(arr) {
let newArr = []
for(let item of arr){
if(item){
newArr.push(item)
}
}
return newArr
}
bouncer([7, "ate", "", false, 9]);
14、找出元素在数组中的索引
function getIndexToIns(arr, num) {
arr.push(num)
arr.sort((a,b) => {
return a - b
})
return arr.indexOf(num);
}
getIndexToIns([40, 60], 50);
15、比较字符串
function mutation(arr) {
let a = arr[0].toLowerCase()
let b = arr[1].toLowerCase()
for(let i=0;i<b.length;i++){
if(a.indexOf(b[i]) === -1){
return false
}
}
return true
}
mutation(["hello", "hey"]);
16、分割数组
function chunkArrayInGroups(arr, size) {
let newArr = []
for(let i=0;i<arr.length;i+=size){
newArr.push(arr.slice(i,i+size))
}
console.log(newArr)
return newArr;
}
chunkArrayInGroups(["a", "b", "c", "d"], 2);