在很多网站可以找到很详细js内置对象所有方法讲解,所以简单列举一些,以及一些很常用的也没有记录。
Array
Array.foreach()
对数组的每个元素执行一次给定的函数。方法可传入参数:function thisArg
传入function三个参数分别为:数组元素ele,数组元素对应索引index,数组本身self。而函数中this默认指向window。
如果有第二个参数thisArg,则用作this指向。
foreach和for的区别
foreach无法提前结束
foreach会跳过空值
foreach循环次数由数组初始长度决定
Array.reduce()
reduce()方法对数组中每个元素按序执行一个提供的reducer函数,每次执行将先前元素计算结果作为参数传入,汇总返回单个值。
如果没有传递初始值,则已[0]作为初始值,迭代器从[1]开始。
函数包含四个参数:previousvalue currentvalue currentindex array 还可以选择指定一个初始值initialvalue
异常TypeaError
可以用来数组求和,统计每个元素出现个数,二维数组化为一维,数组去重,绑定包含在对象数组中的数组,替换.filter().map()
Array.splice()
splice()方法通过删除和替换现有元素或添加新元素来修改数组,以数组形式返回被修改的内容,会改变原数组。
方法可以传入参数:start 开始的位置,还可以添加delete 表示移除元素个数,0或负数,不移除,至少添加一个新元素,还可以添加country item 添加的元素
Array.sort()
sort()用原地算法对数组元素进行排序,并返回数组,默认排列顺序是将元素转化为字符串,然后按unicode位点排序。
可以指定按某种顺序排列的函数:sort((a,b) =>{})以返回值排序,>0,a在b后
Array.slice ()
slice()方法返回一个新数组对象,是原数组的浅拷贝
方法可以传入参数:begin,end。
可以用来提取数组或者将类数组转为一个新数组。
Array.filter()
filter()方法创建给定数组一部分的浅拷贝,包含通过所提供函数实现的测试的所有元素。方法可传入:function thisArg
function接受以下三个参数:element当前处理元素 index处理元素在数组中索引 array数组本身
Array.map()
map()创建一个新数组,新数组由原数组中每个元素调用一次提供的函数后的返回值组成。
Array.join()
将数组转为字符串。
参数separator:指定一个字符串用来分隔数组中的元素。默认用“,”分隔,用“”则所有元素直接没有任何字符。
不小心error的一点:
清空数组之array = [] 和array.length=0
前者创建一个新数组,并为其赋予一个变量的引用,其他不受影响,仍指向原数组。后者修改数组本身,若通过不同变量访问,则得到修改的数组。
String
String.slice()
slice()方法提取字符串的一部分,并返回一个新字符串。
参数:beginindex endindex
String.match()
match()方法返回一个字符串匹配正则表达式的结果。
String.indexOf()
经典indexOf()返回第一次出现指定值的索引。
参数: searchvalue 被查找字符串值 fromindex 开始查找的位置(<0,默认0,>length,返回-1)
String.toLowerCase() and String.toUpperCase()
字符串大小写转换
String.trim()
删除两端空格。
字符串转数字:
利用“-”“*”等运算符
利用Number()语句
利用parsent(StringNum)语句
使用parseFloat(StringNum)语句
吃饭去了,剩下的总结有待补充。错误之处希望大佬指出。
———————————————————————————————————
最近尝试大作业,等期末验收完写一个总结记录,从最开始毫无头绪自暴自弃到这周结束,dsl的解释器的编写让我受益良多。尤其是这学期学编译原理,让我有眼前一亮的感觉。
浅记录一下前一阵在js题练习基础用到的方法,感觉学语言不用就会忘掉,做题时和最开始学c相比感觉更偏向于各种方法的应用,在js很多问题可以直接调用方法解决,然而如何实现的原理仍然很重要。在完成题目时,我思考用不同方法解决来加深了对方法的掌握。