前端开发(JavaScript)常用函数总结


在前端的应用和学习中,需要经常用到的函数和用法总结,便于查阅和记忆。(随时更新)

1、类型转换

1)string→number:praseInt()

parseInt(string,n):将首位为数字的字符串以n进制转换为数值;(如果首位不是数字,则返回NaN)

2)number→string:toString()

number.toString():将数值number转换为字符串

2、数组

1)排序

sort()

该函数有两种常用形式:

  • array.sort()
    默认以字符编码顺序进行排序
  • array.sort( function (a , b ) {…})
    按照括号内函数返回值进行排序:如果返回值大于0,交换a,b两个元素的位置;否则不变;
    常用的形式为:
array.sort(function (a,b) {      //升序
	return a-b;
});
array.sort(function (a,b) {      //降序
	return b-a;
});

reverse()

将数组元素颠倒顺序。

2)添加元素

arr1.concat(arr2,…)

用于依次连接多个数组,返回新数组。

push(ele1,…)

数组末尾依次添加元素,返回新数组。

unshift(ele1,…)

数组开头依次添加元素,返回新长度。

3)删除元素

pop()

删除最后一个元素,返回该元素值。

shift()

删除第一个元素,返回该元素值。

splice(start,length[,ele1,…])

从下标为start的元素开始,删除其后length个元素(或用ele1,…将该length个元素替换)

4)截取元素

slice(start[,end])

从下标start的元素开始,到end-1(默认数组结尾)元素,返回新数组

5)合并array→string

array.toString()

以逗号间隔

array.join(‘连接符’)

自定义连接符,各元素间以连接符相连接

3、字符串

1)检索

indexOf(sub[,start])

从start(可选,默认为0)到字符串最后,检索sub字符串,返回首次出现的下标值,没有则返回-1。

lastindexOf(sub[,start])

从start(可选,默认为0)到字符串最后,检索sub字符串,返回最后出现的下标值,没有则返回-1。

2)截取字符串

slice(start[,end])

截取下标start到end-1部分的字符串(end默认结尾)

substr(start,length)

截取从下标start开始的length个字符

3)连接字符串

str1.concat(str2,…)

一次连接字符串,返回新的字符串

4)拆分string→array

string.split(‘分隔符’[,limit])

将string以分隔符进行分割,返回数组(limit可选,指定数组最大长度)

5)Unicode编码转换

String.fromCharCode(num1,…)

该函数接收若干个Unicode值,返回对应字符组成的字符串。

String.charCodeAt(index)

返回字符串指定index索引位置字符的Unicode编码值。

6)判断字符串的值

两字符串是否相等

== 判断值是否相等
=== 判断类型是否相同+值是否相等

字符串是否为空

var strings = ''; 
if (string.length == 0) 
{ 
	alert('不能为空'); 
}

字符串是否为空

var strings = ' '; 
if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) 
{ 
	alert('不能为空'); 
}

4、Map/Set对象

Map 和 Set对象是ES6中定义的集合,两对象的方法和属性基本相同。

1)Map对象

Map对象中元素都是以 “键-值”对 存储的,键和值可以是任何形式。
创建:

var map = new Map();
//可传入二维数组作为参数,实现将数组转换为Map对象

设值:

map.set(key,value);

获取值:

map.get(key);

遍历: 遍历Map对象有很多种形式.
注意:Map对象的遍历顺序就是插入顺序
Map对象提供了三个遍历器:keys()、values()、entries(),故可以有以下遍历方式:

for(let key of map.keys()){...}
for(let value of map.values()){...}
for(var item of map.entries()){...}
    //以上方式中,分别用item[0]和item[1]来表示键和值;
for(var [key,value] of map.entries()){...}
for(let [key,value] of map){...}

除此之外,还提供了一个遍历函数:

map.forEach(function(item,key,value){...})

判断是否含有指定元素:

map.has(key);

删除指定元素:

map.delete(key);

清除集合:

map.clear();

集合大小:
map.size 来获取集合元素个数。

Map→Array: 使用扩展运算符(…)

[...map]  //转换成二维数组,数组中每个元素(数组)含有两个元素:键和值

同理有:[...map.keys()][...map.values()][...map.entries()]

2)Set对象

Set对象是的集合,允许存储任意类型的唯一值,这意味在一个Set集合中,相同值只能出现一次,当向Set中插入两个相同的值,只会存储一个在集合中
同样的,遍历顺序就是插入顺序。
创建:

var set = new Set();
//可传入一个可迭代对象作为参数,例如:数组

添加元素: 向末尾添加元素

set.add(value);

判断是否含有特定元素:

set.has(value);

删除特定元素:

set.delete(value);

集合大小:
set.size 来获取集合元素个数。

遍历:
Set的遍历与Map类似,可使用for循环或forEach()函数。需要注意的是,Set对象仍然拥有三个遍历器,keys()和values()存储的值是相同的,entries()返回的是[value,value]。

for(let key of set.keys()){...}
for(let value of set.values()){...}    //以上二者是等价的
for(var item of set.entries()){...}
for(var [key,value] of set.entries()){...}  //key和value值相同
for(let value of set){...}

或者

set.forEach(function(value){...})

Set→Array: 使用扩展运算符(…)

[...set]

总结:
由以上Set集合用法可以看出:Set相比数组,在插入元素,删除元素,查找元素,元素去重等方面存在优越性,可以减少代码复杂度,同时降低时间复杂度。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值