1,冒泡排序:两轮for循环,第一轮控制总对比次数,第二轮相邻元素对比,符合条件则交换
2,选择排序:两轮for循环,第一轮控制交换,即第二轮获得的最小值与当前循环起点元素交换,第二轮就是从拿第一轮循环最后的值与后面的值
开始比较,符合条件则将下标交换,最后获得当前一轮最小值下标,执行第一轮。
3,翻转字符串:
str.split("").reverse().join("")
4,计算一个整数的阶乘,
function factorialize(num){} if(num < 1) { return 1 }else{ return num*factorialize(num - 1) }
5,如果给定的字符串是回文,返回true,反之,返回false。
stra = str.replace(/[^0-9A-Za-z]/g, '').toLowerCase() strb = stra.splice('').reverse().join('') if(stra === strb){ return true }else { return false }
6, 找到提供的句子中最长的单词,并计算它的长度。
function findLongestWord(str) { let arra = str.split(" ") let arrb = arra.sort(function(a, b){ return b.length - a.length }) let maxLength = arrb[0].length return maxLength }
7、确保字符串的每个单词首字母都大写,其余部分小写。
function titleCase(str) { let strArr = str.split(" ").toLowercase(); for(let i = 0; i < strArr.length; i++) { strArr[i] = strArr[i][0].toUpperCase() + strArr[i].subString(1, strArr[i].length)] } return strArr }
8、右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
function largestOfFour(arr){ let arra = []; let arrb = []; for(let n in arr){ arra[n] = arr[n].sort(function(a, b){ return b - a; }) arrb.push(arra[n][0]) } return arrb; }
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
9, 判断字符串是否以指定字符串结尾
function confirmEnding(str, target){ let length = str.length let lastStr = str.subStr(-length) if(lastStr == target){ return true }else { return false } }
function confirmEnding2(str, target){ let length = str.length let lastStr = str[length-1] if(lastStr == target){ return true }else { return false } }
10、重复一个指定的字符串 num次,如果num是一个负数则返回一个空字符串。
function repeat(str, num) { let astr = str if(num < 0){ return '' }else { for(let i = 0; i < num; i++){ str +=astr } return str } }
11 截断一个字符串!
如果字符串的长度比指定的参数num长,则把多余的部分用...来表示。
切记,插入到字符串尾部的三个点号也会计入字符串的长度。
但是,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。
function truncate(str, num){ let length = str.length let stra = str.slice(0, num - 3) let strb = str.slice(0, num) if(length > num){ if(num < 3){ return strb + '...' }else { return stra + '...' } }else { return str } }
function truncate2(str, num){ let length = str.length if(length > num){ if(num < 3){ return str.slice(0, num) + '...' }else { return str.slice(0, num-3) + '...' } }else { return str } }
12,把一个数组arr按照指定的数组大小size分割成若干个数组块
function chunk(arr, size) { let arra = [] for(let i = 0; i < arr.length; i+=size){ arra.push = arr.slice(i, i+size) } return arra }