前端算法介绍:刷算法问题常用JS基础素养
在末尾追加,类似于栈压,原来的数组会改变。
最后弹出,类似于弹出栈,原来的数组会变。推&;Pop可以模拟一种常见的数据结构:堆栈。
把数据压到头类似于加入队列,原来的数组会变。
在表头弹出数据,原来的数组就变了。数组的推送&;Shift可以模拟一种常见的数据结构:队列。
Concat将在当前数组的末尾拼接传入的数组,然后返回一个新的数组,原始数组保持不变。
在数组中查找值,如果找到则返回其下标,如果没有找到则返回-1。
在数组中查找值,如果找到则返回true,如果找不到则返回false。
将数组转换为字符串并返回该字符串。如果没有传递值,默认情况下用逗号分隔,原始数组保持不变。
翻转原始数组并返回翻转后的数组。原始数组发生变化。
从头到尾截取,但不包括结尾。
参见MDN: sort [5]
将数组转换为字符串,并返回用逗号分隔的字符串,保持原始数组不变。
返回指定索引位置的字符。与数组类似,它使用括号来获取相应下标位置的数据。
Concat()类似于一个数组,用于返回一个合并并拼接的两个或多个字符串。原始字符串保持不变。
IndexOf返回字符在字符串中第一次出现的位置,lastIndexOf返回字符在字符串中最后一次出现的位置。
提取字符串的一部分,并将提取的字符串作为新字符串返回。原始字符串保持不变。
使用指定的分隔符将一个字符串拆分为多个子字符串数组,并返回它,保持原始字符串不变。
match()方法可以检索字符串中的指定值,或者查找一个或多个正则表达式的匹配项,并返回包含搜索结果的数组。
注意:如果match方法没有找到匹配,它将返回null。如果找到匹配项,match方法将以数组的形式返回匹配项。如果正则规则中没有设置全局修饰符G,那么match方法返回的数组有两个特征:输入和索引。输入属性包含整个搜索字符串。index属性包含匹配整个搜索字符串的子字符串的位置。
Replace接收两个参数,一个是需要替换的字符或者一个正则匹配规则,一个是需要替换的字符,实际原理上可以用回调函数替换。
在目标字符串中搜索匹配常规规则的字符。如果找到,则返回目标字符串中第一个匹配的位置,如果没有找到,则返回-1。
ToLowerCase将字母转换成小写,而toUpperCase()将字母转换成大写。
Include、startsWith、endsWith和es6是新方法。includes用于检测目标字符串对象是否包含字符,并返回一个布尔值。startsWith用于检测当前字符是否是目标字符串的开头,相对endwith用于检测是否是目标字符串的结尾。
返回一个新的string对象,该对象等于重复指定次数的原始字符串。接收一个参数就是指定重复次数。原始字符串保持不变。
最常用的for循环,常用数组遍历,也可以遍历字符串。
while和do while的主要作用是在while后面的条件满足时执行相关业务。两者的区别在于,while会先判断条件是否满足,然后在花括号中执行任务,而do while会先执行花括号中的任务,然后再执行while条件,判断下次是否执行do中的操作。也就是说,do while至少会执行一次操作。
制作一个副本并遍历原始数组。
For…of是ES6中的新方法,但是for…of不能遍历普通对象。** for…of的好处是可以用break跳出循环。**
面试官:告诉我for和for的区别...赞成和反对...的?
返回一个布尔值。当我们需要判断数组中的元素是否满足一定条件时,可以使用every/some。两者的区别在于,every会判断数组中的每一项,而some在某一项满足条件时返回。
从左到右减少“堆栈”数组元素并返回一个值。从右到左减少右。
Object.keys方法的参数是一个对象,并返回一个数组。数组的成员都是对象本身的属性名(不是继承的),只返回可枚举的属性。
Object.getOwnPropertyNames方法类似于Object.keys方法,后者也接受对象作为参数,并返回包含对象本身所有属性名称的数组。但是它可以返回不可枚举的属性。
下面是我在刷算法问题中遇到的一些正则表达式。有时间的话可以认真学习正则表达式,不要背[7]。
持续更新,敬请关注...
如果一个正整数除了1和它本身之外,不能被任何自然数整除,则称为素数(或称质数),否则称为合数。