1、实战翻转字符串算法
你可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,然后把数组转化成字符串
2、计算所提供整数的阶乘。
如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。
阶乘通常简写成 n!
例如: 5! = 1 * 2 * 3 * 4 * 5 = 120
3、回文算法
如果给定的字符串是回文,返回true
,反之,返回false
。
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样
4、查找最长单词
返回提供的句子中最长的单词的长度。
返回值应该是一个数字
5、设置首字母大写
返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写
6、查找数组中的最大值
在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。
提示:你可以用for循环来迭代数组,并通过arr[i]
的方式来访问数组的每个元素
7、确认末尾字符
检查一个字符串(str
)是否以指定的字符串(target
)结尾。
如果是,返回true;如果不是,返回false。
8、重复操作
循环拼接一个指定的字符串 num
次,如果num
是一个负数,则返回一个空字符串
9、字符串截取
如果字符串的长度比给定的参数num
长,则把多余的部分用...
来表示。
切记,插入到字符串尾部的三个点号也会计入字符串的长度。
然而,如果指定的参数num
小于或等于3,则添加的三个点号不会计入字符串的长度
10、数组分割
编写一个函数,把一个数组arr
按照指定的数组大小size
分割成若干个数组块。
例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];
chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];
11、数组截断
返回一个数组被截断n
个元素后还剩余的元素,从索引0开始截断
12、数组查询
如果数组第一个字符串元素包含了第二个字符串元素的所有字符,则函数返回true。
举例,["hello", "Hello"]
应该返回true,因为在忽略大小写的情况下,第二个字符串的所有字符都可以在第一个字符串找到。
["hello", "hey"]
应该返回false,因为字符串"hello"并不包含字符"y"。
["Alien", "line"]
应该返回true,因为"line"中所有字符都可以在"Alien"找到
13、删除数组中的特定值
删除数组中的所有的假值。
在JavaScript中,假值有false
、null
、0
、""
、undefined
和 NaN
14、去处数组中多个任意值
实现一个 destroyer 函数,第一个参数是初始数组,后跟一个或多个参数。从初始数组中删除与这些参数具有相同值的所有元素
15、数组排序并插入值
先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引。
举例:where([1,2,3,4], 1.5)
应该返回 1
。因为1.5
插入到数组[1,2,3,4]
后变成[1,1.5,2,3,4]
,而1.5
对应的索引值就是1
。
同理,where([20,3,5], 19)
应该返回 2
。因为数组会先排序为 [3,5,20]
,19
插入到数组[3,5,20]
后变成[3,5,19,20]
,而19
对应的索引值就是2
。
16、密码移位
移位密码也就是密码中的字母会按照指定的数量来做移位。
一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔'O',以此类推。
写一个ROT13函数,实现输入加密字符串,输出解密字符串。
所有的字母都是大写,不要转化任何非字母形式的字符(例如:空格,标点符号),遇到这些特殊字符,就跳过它们。
17、