资讯专栏INFORMATION COLUMN

前端计划——JavaScript的Math、数组和字符串方法总结

gyl_coder / 1860人阅读

摘要:切割字符串为数组两个参数均可选,代表返回的最大长度提取字符串可省略,不改变原字符串提取字符串双参均为非负整数。

前言:JavaScript内提供了丰富的内建函数,本文总结了一份表格,方便快速查找,
个人总结,不是很严谨,如有错误,还望指正。

如果想查阅各函数详细的使用说明,建议使用官方文档。
https://developer.mozilla.org...

1、Math函数
方法 作用 语法 说明
abs(x) 返回绝对值 Math.abs(x) x 不是数字返回 NaN,如果 x 为 null 返回 0
acos(x) 返回反余弦值 Math.acos(x) x是-1到1之间的数,返回0到PI之间的弧度值,x超出范围返回NaN
asin(x) 返回反正弦值 Math.asin(x) x属于-1到1,返回-PI/2到PI/2
atan(x) 返回反正切值 Math.atan(x) 返回的值是 -PI/2 到 PI/2 之间的弧度值
atan2(y,x) 返回坐标(y,x)到x轴之间夹角度数 Math.atan2(y,x) 返回的值是 -PI/2 到 PI/2 之间的弧度值
sin(x) 求正弦值 Math.sin(x) x为弧度值,将角度乘以 0.017453293 (2PI/360)即可转换为弧度
cos(x) 求余弦值 Math.cos(x) 同上
tan(x) 求正切值 Math.tan(x) 同上
ceil(x) 向上取整 Math.ceil(x)
floor(x) 向下取整 Math.floor(x)
round(x) 四舍五入取整 Math.round(x)
exp(x) 返回E^x Math.exp(x)
pow(x,y) 返回 x^y Math.pow(x,y)
log(x) 返回ln(x) Math.log(x) 如果 x 为负数,返回 NaN。x 为0,返回 -Infinity
sqrt(x) 返回x的平方根 Math.sqrt(x) 如果 x 小于 0,则返回 NaN
random() 返回介于 0(包含) ~ 1(不包含) 之间的一个随机数 Math.random()
min(x) 返回一组数的最小值 Math.min(x,y,...z)
max(x) 返回一组数的最大值 Math.max(x,y,,...z)
-- 以下为ES6新增 -- --
trunc(x) 返回一个数的整数部分 Math.trunc(x) 对于空值和无法截取整数的值,返回NaN
sign(x) 判断一个数是正数、负数、0 Math.trunc(x) 参数为正数,返回+1;负数返回-1;0返回0;-0返回-0;其他返回NaN。
cbrt(x) 求立方根 Math.cbrt(x)
clz32(x) 求多少个前置0 Math.clz32(x) 32位无符号整数有多少前置0,小数只看整数部分
imul(x,y) 返回以两个32位带符号整数相乘结果 Math.imul(x,y)
fround(x) 返回一个数的单精度浮点数结果 Math.fround(x)
hypot(x1,x2,...) 返回多个数的平方和的平方根 Math.hypot(x1,x2,...xn) 有一个参数无法转换就返回NaN
expm1(x) 返回e^x - 1 Math.expm1(x) 相当于Math.exp(x) - 1
log1p(x) 返回log(x+1) Math.log1p(x) 相当于Math.log(x+1)
log10(x) 返回log10(x) Math.log10(x) 相当于Math.log(x)/Math.LN10,x小于0返回NaN
log2(x) 返回log2(x) Math.log2(x) 相当于Math.log(x)/Math.LN2,x小于0返回NaN
sinh(x) 双曲正弦函数 Math.sinh(x)
cosh(x) 双曲余弦函数 Math.cosh(x)
tanh(x) 双曲正切函数 Math.tanh(x)
asinh(x) 反双曲正弦函数 Math.asinh(x)
acosh(x) 反双曲余弦函数 Math.acosh(x)
atanh(x) 反双曲正切函数 Math.atanh(x)
signbit(x) 是否设置了符号位 Math.signbit() 设置了返回true,否则为false
x**y 指数运算符 x**y 用于简化Math.pow(x,y),对于特别大的运算,在V8下两者结果可能不同
2、数组函数
函数名 作用 语法 返回值 说明
concat 合并数组 arr1.concat(arr2,arr3...) Array 一个新数组
join 拼接数组 arr.join("separator") String
push 末尾添加元素 arr.push(item1,item2...) Number 返回新长度
pop 末尾弹出元素 arr.pop() item类型
unshift 开头添加元素 arr.unshift(item1, item2...) Number 新长度
shift 移出开头元素 arr.shift() item类型
reverse 反转数组顺序 arr.reverse() Array
sort 数组排序 arr.sort(sortFunction) Array 升序函数(function(a,b) {return a-b})
slice 截取数组 arr.slice(start, end) Array 不含end。end为空,代表到最后
splice 添加/删除元素 arr.splice(index, howmany, item1, item2...) Array index是起始位置,howmany是删除数量,为0的话就是添加
indexOf 返回元素首次出现位置 arr.indexOf(item, start) Number start可省略,代表从头开始检索。未找到返回-1
lastIndexOf 返回最后出现位置 arr.lastIndexOf(item, start) Number 同上
map 返回一个新数组,调用指定函数返回结果 arr.map(function(currentValue,index,arr), thisValue) Array thisValue可选。"
reduce 递归计算(从左至右) arr.reduce(function(total, currentValue, currentIndex, arr), initialValue) total类型
reduceRight 递归计算(从右至左) arr.reduceRight(function(total, currentValue, currentIndex, arr), initialValue) total类型
forEach 每个元素都执行回调函数 arr.forEach(function(currentValue, index, arr), thisValue) 回调类型
every 用于检测每个元素 arr.every(function(currentValue,index,arr), thisValue) Boolean 一个不满足,返回false,不再检测。全部通过返回true
filter 筛选满足条件的形成新数组 arr.filter(function(currentValue,index,arr), thisValue) Array
valueOf 返回 Array 对象的原始值 arr.valueOf() Array 一般是后台调用
-- 以下为ES6新增 -- -- --
Array.from() 将类数组转换为数组 Array.from(arrayLike,func) Array 一般用于set、map,以及DOM节点集合,func是类map函数
Array.of() 将一组参数转换为数组 Array.of(1,2,3...) Array
find 返回符合条件的第一个元素 arr.find(function(currentValue,index,arr), thisValue) item类型 检测第一个返回后停止,都没有返回undefined
findIndex 返回符合条件的第一个元素的位置 arr.findIndex(function(currentValue, index, arr), thisValue Number 找不到返回-1
fill 用于替换数组内容 arr.fill(value, start, end) Array 不含end
copyWithin 用于复制数组内容 arr.copyWithin(target, start, end) Array 不含end
entries 返回数组的键值对 arr.entries() 遍历器对象 多用于for...of...遍历
keys 返回数组的键名 arr.keys() 同上 同上
values 返回数组的键值 arr.values() 同上 同上
includes 判断是否包含某元素 arr.includes(item, start) Boolean start默认为0,即起始位置
3、字符串函数
函数名 作用 语法 返回值 说明
charAt 返回指定位置字符 string.charAt(index) String index为下标值,找不到返回""
charCodeAt 返回指定位置字符对应的Unicode编码 string.charCodeAt(index) Number 同时,找不到返回NaN
concat 连接字符串 string.concat(string1, string2, ..., stringX) String 返回的是新字符串
indexOf 返回某字符串首次出现位置 string.indexOf(searchvalue,start) Number start可选,缺省从头开始。区分大小写,找不到返回-1
lastIndexOf 返回某字符串末次出现位置 string.lastIndexOf(searchvalue,start) Number 同上。
match 返回匹配的字符数组 string.match(regexp) Array 依赖于regexp是否含g,找不到返回null。
replace 替换指定字符串 string.replace(searchvalue,newvalue) String 不改变原字符串,返回新字符串
search 查找指定字符串 string.search(searchvalue) Number 返回匹配的子串其实位置,找不到返回-1
slice 返回提取的字符串 string.slice(start,end) String 返回新字符串,end可省略。不含end。
split 切割字符串为数组 string.split(separator,limit) Array 两个参数均可选,limit代表返回的最大长度
substr 提取字符串 string.substr(start,length) String length可省略,不改变原字符串
subString 提取字符串 string.substring(from, to) String 双参均为非负整数。to可省略。不含to
toLowerCase 转换为小写 string.toLowerCase() String 不改变原字符串
toUpperCase 转换为小写 string.toUpperCase() String 不改变原字符串
fromCharCode Unicode编码转成字符 string.fromCharCode(n1, n2, ..., nX) String 支持多个参数连成字符串
valueOf 返回String对象值 string.valueOf() String 一般由后台调用,不显式引用
trim 去除首位的空白字符 string.trim() String
-- 以下为ES6新增 -- -- --
codePointAt 类似charCodeAt string.codePointAt(index) Number 提供了对于大于uFFFF的字符的处理
fromCodePoint 类似fromCharCode string.fromCodePoint(n) String 同上
at 类似CharAt string.at(index) String 同上
normalize Unicode正规化 "u01D1".normalize() String
includes 查找是否有指定字符串 string.includes("str",n) Boolean 表示是否找到指定字符串,n可省略,代表起始位置
startsWith 同上 string.startsWith("str", n) Boolean 同上
endsWith 同上 string.endsWith("str", n) Boolean n表示前n个字符
repeat 重复字符串 string.repeat(n) String n必须大于-1,小数会取整,-1到0转换为0,小于-1或者Infinity报错
padStart 头部补全 string.padStart(length, "str") String 第一个参数为最小长度,第二个为填充的字符串,第二个参数省略用空格填补,超出会自动截取
padStart 尾部补全 string.padStart(length, "str") String 类似上面

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83431.html

相关文章

  • JavaScript 数据结构与算法之美 - 归并排序、快速排序、希尔排序、堆排序

    摘要:之所以把归并排序快速排序希尔排序堆排序放在一起比较,是因为它们的平均时间复杂度都为。归并排序是一种稳定的排序方法。因此,快速排序并不稳定。希尔排序思想先将整个待排序的记录序列分割成为若干子序列。 showImg(https://segmentfault.com/img/bVbvpYZ?w=900&h=250); 1. 前言 算法为王。 想学好前端,先练好内功,只有内功深厚者,前端之路才...

    haitiancoder 评论0 收藏0
  • 初级前端开发面试总结

    摘要:前端面试总结先说背景,本人年月毕业,去年十月校招到今年月一直在做前端开发工作,年前打算换工作,就重新梳理下面试考点总结包含基础,基础,常见算法和数据结构,框架,计算机网络相关知识,可能有的点很细,有的点很大,参考个人情况进行总结,方便对知识 前端面试总结 先说背景,本人2018年7月毕业,去年十月校招到今年10月一直在做前端开发工作,年前打算换工作,就重新梳理下面试考点总结包含: ...

    jifei 评论0 收藏0
  • 初级前端开发面试总结

    摘要:前端面试总结先说背景,本人年月毕业,去年十月校招到今年月一直在做前端开发工作,年前打算换工作,就重新梳理下面试考点总结包含基础,基础,常见算法和数据结构,框架,计算机网络相关知识,可能有的点很细,有的点很大,参考个人情况进行总结,方便对知识 前端面试总结 先说背景,本人2018年7月毕业,去年十月校招到今年10月一直在做前端开发工作,年前打算换工作,就重新梳理下面试考点总结包含: ...

    tigerZH 评论0 收藏0
  • 前端计划——JavaScript正则表达式快速入门

    摘要:前言正则表达式时处理字符串中常用的手法,本文以简单的方式,快速展示了中正则相关的基础知识点。文末还提供了几个简单的正则相关面试题。接下来是正则部分,注意后面的并不匹配,也就是比如,实际匹配的值是和,在和后面加上,就完成了预期。 前言:正则表达式时处理字符串中常用的手法,本文以简单的方式,快速展示了JavaScript中正则相关的基础知识点。文末还提供了几个简单的正则相关面试题。个人总结...

    Xufc 评论0 收藏0
  • 前端面试题总结——JS(持续更新中)

    摘要:在此基础上加入了回调函数,加载完之后会执行中定义的函数,所需要的数据会以参数的形式传递给该函数。通常的做法是,为它们指定回调函数。 前端面试题总结——JS(持续更新中) 1.javascript的typeof返回哪些数据类型 Object number function boolean underfind string 2.例举3种强制类型转换和2种隐式类型转换? 强制(parseIn...

    shery 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<