常用 JS 函数
h5 页面嵌入 QQ 客服代码
<a href="mqqwpa://im/chat?chat_type=wpa&uin={{yourQQNumber}}&version=1&src_type=web&web_src=oicqzone.com"></a>将一个数组分为多个数组
示例:[1,2,3,4,5,6,7,8,9,10] 转换为 [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]
const sliceArray = function (arr, num) {
const result = [];
for (let i = 0; i < arr.length; i += num) {
result.push(arr.slice(i, i + num));
}
return result;
};限制只能传入数字
// valStr 确保是一个字符串类型
const limitToNumberStr = function (valStr) {
let tempValue = valStr.toString();
return tempValue
.replace(/[^0-9.]/g, "")
.replace(".", "#*")
.replace(/\./g, "")
.replace("#*", ".");
};将对象转换为数组
方式 1
示例:{ userName : 'elite' , local : 'china' } 转换为 [{ name : 'userName' , value : 'elite' } , { name : 'local' , value : 'china' }]
方式 2
示例:{ userName : 'elite' , local : 'china' } 转换为 [{ userName : 'elite' } , { local : 'china' }]
判断数据类型
方法 1 返回值为 Boolean 值
方法 2 返回值为数据类型
巧用 window.open
不想使用 a 标签破环样式结构的话,可以使用 window.open 实现部分常用功能
window.open(URL,name,specs,replace)
js 获取 div 宽高
js 时间处理
方法 1: 传入一个合法的 date 格式时间数据,返回 {YY, MM, DD, HH, mm, ss},默认返回当前时间的对象格式 例如:
formatDate(new Date())返回对象:{ YY: '2021', MM: '01', DD: '12', HH: '09', mm: '56', ss: '55' }
方法 2: 返回类似 "2021/01/12 09:48:04" 格式的时间字符串
js 获取前一天的日期
js 获取某月最后一天是几号
更新对象属性值
在不给目标对象增加新的属性的同时更新目标对象属性值
删除数组某一项
index 从 0 开始
获取文件类型
复制文字
数组去重
前端排序
简单排序
数字中英混合排序(简单)
代码说明
使用
localeCompare方法:localeCompare是 JavaScript 内置的字符串比较方法参数
'zh-CN'指定使用中文(简体)的排序规则自动处理中文字符的拼音排序(按拼音首字母顺序)
排序规则:
中文按拼音首字母排序(如:陈(C) < 李(L) < 王(W) < 张(Z))
英文按字母顺序排序(A-Z)
中英混合时统一按拼音/字母顺序混合排序(如:Alice < Bob < 陈六 < 李四)
注意事项:
不改变原数组:如果需要保留原数组,可先创建副本:
浏览器兼容性:
所有现代浏览器均支持
IE10+ 支持(需要启用 Intl 支持)
扩展功能:
如需区分大小写:添加
sensitivity: 'case'选项如需数字智能排序:添加
numeric: true选项
数字中英混合排序(严谨) 以下是实现按照数字 > 字母 > 中文的优先级进行排序的 JavaScript 代码:
代码说明:
优先级规则:
数字开头(0-9)优先于所有其他类型
字母开头(a-z,A-Z)次优先
中文/其他字符最后
实现逻辑:
字符类型检测:使用正则表达式判断首字符类型
优先级排序:不同类型按数字(0) > 字母(1) > 中文(2)的顺序排序
同类型排序:
数字:按数值大小排序(如"42" > "123")
字母:按字母顺序排序(不区分大小写)
中文:按拼音首字母排序
特殊处理:
空字符串或 undefined 视为中文类型
支持中英文混合字符串(如"中文 abc")
正确处理大小写字母(A-Z 排在 a-z 之前)
测试输出结果:
关键特点:
多级排序:优先按首字符类型排序,再按具体值排序
中文支持:使用
localeCompare的'zh-CN'参数实现拼音排序健壮性:处理了空值、空字符串等边界情况
效率优化:仅对首字符进行类型检测,减少计算量
此实现严格遵循数字 > 字母 > 中文的优先级规则,同时确保同类型内的合理排序,满足各种实际应用场景的需求。
数组取交集/差集
数组 a 是否包含数组 b
实现按照给定 ID 数组顺序对对象数组进行排序
字符串转数组
下划线转驼峰命名
滚动到页面顶部、底部
滚动到某个子元素的位置
获取两个元素的纵向距离
防抖和节流
函数防抖(debounce): 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新 开始延时。
函数节流(throttle): 当持续触发事件时,保证一定时间段内只调用一次事件处理函数。
判断一个字符串能否转换为有效的数字类型
压缩下载图片
Last updated
Was this helpful?