JavaScript算法练习:字符串反转
今天在freeCodeCamp上面刷题,碰到一题是有关于字符串反转。反转一个字符串是JavaScript中常见的面试题之一。可能面试官会给你一个字符串“Hello Word!”,让你通过JavaScript的方法,将其变成"!droW olleH"。我也是初学者,利用前面所学数组相关的知识以及题目的提示,我算是过关了,后来想,是不是还有其他的方法能破此题呢?搜索了一下,还是有不少的方法,这里把这些方法罗列一下,以备后面可以使用。
今天在freeCodeCamp上面刷题,碰到一题是有关于字符串反转。反转一个字符串是JavaScript中常见的面试题之一。可能面试官会给你一个字符串“Hello Word!”,让你通过JavaScript的方法,将其变成"!droW olleH"。我也是初学者,利用前面所学数组相关的知识以及题目的提示,我算是过关了,后来想,是不是还有其他的方法能破此题呢?搜索了一下,还是有不少的方法,这里把这些方法罗列一下,以备后面可以使用。
是不是有时候会出现将一个字符串中的每个单词的首字母大写化,其余字符均为小写的情况,如"hello world"转化为"Hello World"。好了接下来大家可以试验一下是否可以解决这个问题,在这里我要和大家分享几种比较容易理解的解决方案。
在Web中截断字符串的场景随处可见,CSS3未出现之前,截断字符串都是通过后端程序或者说JavaScript来处理。就现在的技术而言,使用CSS3的相关技术就可以实现截断字符串的效果。
Palindromes称之为回文。在中文文当中是指倒着念和顺着念都是相同的,前后对称,例如“上海自来水来自海上”。在英文文当中是指正着看和反着看都相同的单词,例如“madam”。而对于数字,又称之为回文数,是指一个像“16461”这样的对称的数,即这个数的数字按相反的顺序重新排列后得到的数和原来的数一样。在JavaScript中Palindromes也常出现在一些算法题中,这篇文章主要介绍如何使用JavaScript判断一个字符是不是Palindromes。
Chunky Monkey指的就是把一个数组arr
按指定的长度size
分割,并且将分割的数组push
到一个新数组newArr
中,组成一个多维二组。今天这篇文章整理了有关于实现这种效果的方法。创建一个chunk()
函数,函数中传入两个参数arr
和size
,其中arr
是要被分割的函数,而size
是指分割的长度。然后将分割出来的数组tempArr
推入到一个新的数组中newArr
。
Factorial称之为阶乘,维基百科是这样描述的“一个正整数的阶乘是所有小于及等于该数的正整数的积,并且有0
的阶乘为1
。自然数n
的阶乘写作n!
。”而阶乘函数是递归(Haskell)函数典型示例。在JavaScript中可能运用到递归函数。但在实际使用中,你可能没有考虑何时何地递归是有用的,或者使用不好会带来很多问题。在这篇文章中我们来看看JavaScript如何实现阶乘的功能。
简单点说就是对所给的数组做截取操作。看上去就是对数组做数组元素的删除,可能你会想到数组中的shift()
方法,可是这个方法只能删除数组的第一个元素。而我们要实现的功能是:对所给数组,根据第二个参数进行截取操作,如果第二个参数大于数组的长度,则返回一个空数组,否则将返回第二个参数作为索引值之后的所有元素组成的数组。
对于初学React的同学而言,这并不是一件易事。就拿我自己来说,都不知道从何下手,应该如何去学习才能开始使用React。就算你对React不陌生,学习React也常会碰到一些瓶颈。比如说新颖的概念、开发工具的使用、抽象的名词、快速变化的生态环境等等。也就是说,一旦开始学习React,你会发觉要学的东西越来越多,甚至可能还没开始碰到React就被这些东西给吓跑了(特别是对于初学者,听到这些东东就傻眼了)。
Mutations 对一个包含两个元素的数组,检测数组中的第二个元素的所有字母是否都在第一个元素中出现过,如果出现过,返回的是true
,否则返回的是false
。(其中忽略大小写)
目前最常见的排序算法大概有七八种,理解和掌握各种排序算法似乎是一个合格的程序员所必须要掌握的。今天想要和大家分享快速排序算法的Javascript的实现。快速排序(Quicksort),又称为 划分交换排序(partition-exchange sort),最早是由东尼·霍尔提出的。