1.翻转字符串
function reverseString(str) { var a=str.split("").reverse().join(""); 2.计算一个整数的阶乘
function factorialize(num) { 3.如果给定的字符串是回文,返回true
,反之,返回false
。如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
function palindrome(str) { var str1=str.replace(/\W/g,"").replace(/\_/g,"").toLowerCase(); var str2=str.replace(/\W/g,"").replace(/\_/g,"").toLowerCase().split("").reverse().join(""); 4.找到提供的句子中最长的单词,并计算它的长度。
function findLongestWord(str) { for(var i=0;i<arr.length;i++){ findLongestWord("The quick brown fox jumped over the lazy dog"); 5.使字符串的每个单词首字母都大写,其余部分小写。
function titleCase(str) { return str.toLowerCase().replace(/( |^)[a-z]/g, (x) => x.toUpperCase()); titleCase("I'm a little tea pot"); 6.右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
function largestOfFour(arr) { for(var i=0;i<arr.length;i++){ for(var j=0;j<arr[i].length;j++){ largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]); 7.检查一个字符串(str
)是否以指定的字符串(target
)结尾。如果是,返回true;如果不是,返回false。
function confirmEnding(str, target) { var lastword=str.substr(-n,n); confirmEnding("Bastian", "n"); 8.重复一个指定的字符串 num
次,如果num
是一个负数则返回一个空字符串。
function repeat(str, num) { 9.如果字符串的长度比指定的参数num
长,则把多余的部分用...
来表示。如果指定的参数num
小于或等于3,则添加的三个点号不会计入字符串的长度。
function truncate(str, num) { for(var i=0;i<num-3;i++){ truncate("A-tisket a-tasket A green and yellow basket", 11); 10.把一个数组arr
按照指定的数组大小size
分割成若干个数组块。
function chunk(arr, size) { for(var i=0;i<arr.length;i+=size){ newArray.push(arr.slice(i,i+size)); chunk(["a", "b", "c", "d"], 2); 11.返回一个数组被截断n
个元素后还剩余的元素,截断从索引0开始。
function slasher(arr, howMany) { 12.如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true。
var str0=arr[0].toLowerCase(); var str1=arr[1].toLowerCase(); var myarr=str1.split(""); for(var i=0;i<myarr.length;i++){ if (str0.indexOf(myarr[i]) !== -1){ return num==myarr.length; mutation(["hello", "hey"]); 13.删除数组中的所有假值。在JavaScript中,假值有false
、null
、0
、""
、undefined
和 NaN
。
var newArray = arr.filter(function(x){ bouncer([7, "ate", "", false, 9]); 14.实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。
function destroyer(arr) { for(var i = 1; i < arguments.length; i++){ newArray.push(arguments[i]); var temp = arr.filter(function(x){ return newArray.indexOf(x) < 0; destroyer([1, 2, 3, 1, 2, 3], 2, 3); 15.先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引。
function where(arr, num) { arr.sort(function(a, b) { for(var i=0;i<arr.length;i++){ 16.rot13加密,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔ 'O',以此类推。
return str.replace(/[a-z]/gi, function (x) { return String.fromCharCode(x.charCodeAt(0) + (x.toLowerCase() < 'n' ? 13 : -13));