方法
convertUnits(value, fromUnitName, toUnitName, customUnitsopt) → {number}
- 描述:
转换单位
- 源码:
举例:s
const lengthResult = convertUnits(100, 'meter', 'km'); // 0.1
const areaResult = convertUnits(1000, 'squareMeter', 'km²'); // 0.001
// 自定义单位的示例用法
const customUnits = {
another: {
unit1: { factor: 3, symbol: lengthSymbol, aliases: [] }, // symbol这里可以随意定义,或者可以用Symbol()来定义
unit2: { factor: 4, symbol: lengthSymbol, aliases: [] },
}
};
const customResult = convertUnits(100, 'unit1', 'unit2', customUnits); // 75
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
value
|
number |
待转换的值 |
||
fromUnitName
|
string |
需要转换的单位 |
||
toUnitName
|
string |
转换后的单位 |
||
customUnits
|
Object |
<optional> |
{}
|
自定义单位 |
返回:
转换后的值
- 类型
- number
yd_address_areaMatch(address) → {Array}
- 描述:
省、市、区提取
- 源码:
举例:s
const address1 = "北京市朝阳区建国门外大街";
const addressComponents1 = extractAddressComponents(address1);
console.log(addressComponents1); // 输出: { province: '北京', city: '朝阳', region: '建国门外大街' }
const address2 = "广东省深圳市南山区科技园";
const addressComponents2 = extractAddressComponents(address2);
console.log(addressComponents2); // 输出: { province: '广东', city: '深圳', region: '南山区科技园' }
const address3 = "上海市浦东新区张江高科技园区";
const addressComponents3 = extractAddressComponents(address3);
console.log(addressComponents3); // 输出: { province: '上海', city: '浦东新区', region: '张江高科技园区' }
const address4 = "黑龙江省哈尔滨市道里区";
const addressComponents4 = extractAddressComponents(address4);
console.log(addressComponents4); // 输出: { province: '黑龙江', city: '哈尔滨', region: '道里区' }
const address5 = "错误地址";
const addressComponents5 = extractAddressComponents(address5);
console.log(addressComponents5); // 输出: null
参数:
名称 | 类型 | 描述 |
---|---|---|
address
|
string |
地址字符串 |
返回:
省市区
- 类型
- Array
yd_array_chunk(array, size)
根据size 返回对应size的二维数组
- 源码:
举例:
chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array | |
size
|
Number |
返回:
返回二维数组
yd_array_concat(…args) → {Array}
- 描述:
合并数组
- 源码:
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
args
|
any |
<repeatable> |
多个数组 |
返回:
多个数组合并值
- 类型
- Array
yd_array_countOccurrences(array) → {object}
- 描述:
统计数组中各项出现的次数
- 源码:
举例:s
console.log(yd_array_countOccurrences([1, 1, 2, 3, 3, 4, 4, 4])); // {1: 2, 2: 1, 3: 2, 4: 3}
console.log(yd_array_countOccurrences(['a', 'a', 'bb', 'abc', 'fff', 'fff', '橙', '橙'])); // {a: 2, bb: 1, abc: 1, fff: 2, 橙: 2}
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
任意一维数组 |
返回:
返回以每项为key,次数为value的对象
- 类型
- object
yd_array_diffBoth(arr1, arr2)
- 描述:
数组的差集
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
Array 数组的差集
yd_array_diffFirst(arr1, arr2) → {Array}
- 描述:
取第一个数组的差集
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
返回第一个数组中跟第二个数组不同的值
- 类型
- Array
yd_array_findIndex(array, field, value) → {number}
- 描述:
查找数组中匹配的索引
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
field
|
string |
要查找的字段 |
value
|
string |
该字段的值 |
返回:
返回匹配的索引
- 类型
- number
yd_array_findObj(arrObj, field, value) → {object}
- 描述:
查找数组中匹配的值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arrObj
|
Array |
数组对象 |
field
|
string |
要查找的属性 |
value
|
Any |
属性的值 |
返回:
返回匹配的对象
- 类型
- object
yd_array_flatten(arr) → {Array}
- 描述:
将多维数组拍平为一维数组
- 源码:
举例:
console.log(yd_array_flatten([1, [2, [3, [4]], 5]])); // [1, 2, 3, 4, 5]
参数:
名称 | 类型 | 描述 |
---|---|---|
arr
|
Array |
需要拍平的数组 |
返回:
- 拍平后的数组
- 类型
- Array
yd_array_groupBy(array, key) → {object}
- 描述:
数组数据分组
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
key
|
string | function |
分组的字段或函数 |
返回:
返回按某字段或函数分组后的对象
- 类型
- object
yd_array_keyBy(array, field) → {object}
- 描述:
数组按key排序
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
field
|
string |
映射字段 |
返回:
返回根据字段映射的对象
- 类型
- object
yd_array_paging(array, page_size) → {Array}
- 描述:
对数组进行分页
- 源码:
举例:
yd_array_paging([1, 2, 3, 4, 5, 6], 3); // [[1, 2, 3], [4, 5, 6]]
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
需要分页的数组 |
page_size
|
number |
每页数量 |
返回:
返回已分页的数组
- 类型
- Array
yd_array_randomItem(array, itemNumberopt, repeatopt) → {Array}
- 描述:
随机取数组中的元素
- 源码:
举例:
yd_array_randomItem([1, 2, 3, 4, 5, 6], 3); //[2, 1, 3]
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
array
|
Array |
将要抽取的数组 |
||
itemNumber
|
number |
<optional> |
1
|
抽取元素数量(默认为1) |
repeat
|
boolean |
<optional> |
false
|
是否允许元素重复(默认为false) |
抛出:
-
所需不重复元素数量超过了数组中不重复元素的数量
- 类型
- Error
返回:
返回抽取的元素的数组
- 类型
- Array
yd_array_shuffle(array) → {Array}
- 描述:
数组随机排序(俗称洗牌)
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
返回:
返回随机排序后的数组
- 类型
- Array
yd_array_sumBy(arr, iteratee) → {number}
- 描述:
数组求和
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr
|
Array |
数组数据 |
iteratee
|
function |
迭代函数 |
返回:
返回求和值
- 类型
- number
yd_array_uniqWith(array, comparator) → {Array}
- 描述:
数组去重
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组数据 |
comparator
|
function |
比较函数 |
返回:
返回比较函数去重后的数组
- 类型
- Array
yd_array_unique(array) → {Array}
- 描述:
数组去重
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组数据 |
返回:
返回去重后的数组
- 类型
- Array
yd_browser_exitFullScreen()
- 描述:
退出网页全屏
- 源码:
yd_browser_getQueryParams(url) → {object}
这个函数使用了URL和URLSearchParams接口,解析URL并返回一个包含所有查询参数的对象。 你可以将这个函数用于任何需要解析URL参数的场景。
- 描述:
获取url参数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
url
|
string |
要解析的URL |
返回:
包含所有查询参数的对象
- 类型
- object
yd_browser_irregularSorting(picList, 在dom, 每行展示个数)
无规则图片排序
参数:
名称 | 类型 | 描述 |
---|---|---|
picList
|
Array |
图片列表 |
在dom
|
String |
上展示 |
每行展示个数
|
Number |
yd_browser_isMobileDevices() → {boolean}
- 描述:
判断是不是当前用户的是不是移动设备
- 源码:
举例:
yd_browser_isMobileDevices() => true
返回:
返回是否是移动设备
- 类型
- boolean
yd_browser_md5(string, keyopt, rawopt) → {string}
- 描述:
计算MD5值
- 源码:
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
string
|
string |
输入字符串 |
|
key
|
string |
<optional> |
HMAC key |
raw
|
boolean |
<optional> |
Raw output switch |
返回:
返回MD5值
- 类型
- string
yd_browser_openFullscreen(element)
- 描述:
开启网页全屏
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
element
|
string |
元素 |
yd_browser_viewTransition(fn)
应用场景:使用viewTransition进行视图过渡
- 描述:
应用 viewTransition api
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
fn
|
any |
用于触发过渡的函数 |
yd_datetime_articleLorem(paragraphCount, sentencesPerParagraph, wordsPerSentence)
- 描述:
生成指定段落数的 Lorem Ipsum 文章
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
paragraphCount
|
段落数 |
|
sentencesPerParagraph
|
行数 |
|
wordsPerSentence
|
句子长度 |
yd_datetime_chineseLorem(len)
- 描述:
中文乱文假数生成
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
len
|
生成的文字长度 |
yd_datetime_chineseName() → {String}
应用场景:用于生成测试数据
- 描述:
生成一个姓名
- 源码:
举例:
console.log(generateChineseName()); // 输出: 王国栋
返回:
返回一个随机的中文姓名
- 类型
- String
yd_datetime_customFormat(formatopt) → {string}
- 描述:
获取格式化的当前日期和时间,支持自定义格式。
- 源码:
举例:s
console.log(yd_datetime_customFormat()) // 输出: "2024-07-30_15-45-30"
console.log(yd_datetime_customFormat("DD/MM/YYYY HH:mm:SS")) // 输出: "30/07/2024 15:45:30"
console.log(yd_datetime_customFormat("MM-DD-YYYY")) // 输出: "07-30-2024"
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
format
|
string |
<optional> |
"YYYY-MM-DD_HH-mm-SS"
|
可选的日期时间格式。 |
返回:
格式化后的日期时间字符串。
- 类型
- string
yd_datetime_dateToTimestamp(date, inMilliseconds) → {number|null}
- 描述:
将 Date 对象转换为 Unix 时间戳。 验证 Date 对象是否有效,并允许选择输出时间戳的精度(秒或毫秒)。 该函数将验证输入的 Date 对象是否表示有效的日期。
- 源码:
举例:s
// 示例: 有效的 Date 对象,输出秒级时间戳
console.log(dateToTimestamp(new Date())) // 输出: Unix 时间戳(10位数字)
// 示例: 有效的 Date 对象,输出毫秒级时间戳
console.log(dateToTimestamp(new Date(), true)) // 输出: Unix 时间戳(13位数字)
// 示例: 无效的 Date 对象
console.log(dateToTimestamp(new Date("invalid"))) // 输出: null
// 示例: 显然无效的 Date 对象
console.log(dateToTimestamp(new Date('1000-00-00 00:00:00Z'))) // 输出: null
参数:
名称 | 类型 | 描述 |
---|---|---|
date
|
Date |
Date 对象。 |
inMilliseconds
|
boolean |
如果为 true,则输出 13 位数字的时间戳(毫秒级),否则输出 10 位数字的时间戳(秒级)。默认为 false。 |
返回:
对应的 Unix 时间戳,如果 Date 对象无效则返回 null。
- 类型
- number | null
yd_datetime_leftTime(seconds) → {object}
- 描述:
计算剩余时间
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
seconds
|
number |
剩余时间秒数 |
返回:
返回剩余时间的不同单位值
- 类型
- object
yd_datetime_relativeTime(data) → {Object}
- 描述:
转换相对时间
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
data
|
Array | Object |
数组或对象 |
返回:
返回转换后的相对时间
- 类型
- Object
yd_datetime_stringToDate(timeStr, format, timezoneOffsetopt) → {Date|null}
- 描述:
将日期时间字符串根据指定格式转换为 Date 对象,并可选时区。 支持多种字符串格式,并验证输入格式的正确性。
- 源码:
举例:s
// 示例: 格式 "YYYY-MM-DD HH:mm:SS",UTC-5
const date1 = stringToDate"2021-01-01 00:00:00", "YYYY-MM-DD HH:mm:SS", -5
console.log(date1) // 输出: Date 对象,调整至时区: UTC-5
// 示例: 格式 "YYYY-MM-DD_HH-mm-SS"
const date2 = stringToDate("2021-01-01_00-00-00", "YYYY-MM-DD_HH-mm-SS")
console.log(date2) // 输出: Date 对象
// 示例: 格式 "DD/MM/YYYY HH:mm:SS"
const date3 = stringToDate("01/01/2021 00:00:00", "DD/MM/YYYY HH:mm:SS")
console.log(date3) // 输出: Date 对象
// 示例: 格式 "MM-DD-YYYY"
const date4 = stringToDate("01-01-2021", "MM-DD-YYYY")
console.log(date4) // 输出: Date 对象
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
timeStr
|
string |
日期时间字符串(例如:"2021-01-01 00:00:00")。 |
||
format
|
string |
日期时间字符串的格式(例如:"YYYY-MM-DD HH:mm:SS")。 |
||
timezoneOffset
|
number |
<optional> |
0
|
可选的时区偏移量,以小时为单位,相对于UTC时间。 |
返回:
转换后对应的 Date 对象,如果格式不匹配则返回 null。
- 类型
- Date | null
yd_datetime_timestampToDate(ts) → {Date|null}
- 描述:
将 Unix 时间戳转换为 Date 对象。 支持秒级 (10位数字) 和毫秒级 (13位数字) 的 Unix 时间戳。 验证时间戳是否有效,并自动调整精度。
- 源码:
举例:s
// 示例: 有效的秒级时间戳
console.log(timestampToDate(1704067200)); // 输出: Date 对象,代表 2024-01-01 00:00:00 UTC
// 示例: 有效的毫秒级时间戳
console.log(timestampToDate(1704067200000)); // 输出: Date 对象,代表 2024-01-01 00:00:00 UTC
// 示例: 无效的时间戳
console.log(timestampToDate("invalid")); // 输出: null
参数:
名称 | 类型 | 描述 |
---|---|---|
ts
|
number | string |
Unix 时间戳。 |
返回:
对应的 Date 对象,如果时间戳无效或格式不正确则返回 null。
- 类型
- Date | null
yd_datetime_week() → {string}
- 描述:
返回当前日期是星期几
- 源码:
返回:
周几
- 类型
- string
yd_faker_carNumber(total) → {String}
应用场景:用于生成测试数据
- 描述:
生成一个车牌号
- 源码:
举例:
console.log(generateLicensePlateNumber()); // 输出: 闽ASXRG4
参数:
名称 | 类型 | 描述 |
---|---|---|
total
|
Number |
生成车牌号的位数 (新能源车牌号为6位,普通车牌号为5位) 默认5位 |
返回:
返回一个随机的车牌号
- 类型
- String
yd_faker_mobileNumber() → {String}
应用场景:用于生成测试数据
- 描述:
生成一个手机号
- 源码:
举例:
console.log(generateMobleTel()); // 输出: 15105113629
返回:
返回一个随机的手机号
- 类型
- String
yd_faker_paragraphLorem(sentenceCount, wordsPerSentence)
- 描述:
生成指定句数的 Lorem Ipsum 段落
- 源码:
举例:
console.log(yd_string_generateParagraphLorem()); // 输出 tempor in incididunt eu nisi in voluptate excepteur ullamco mollit. of...
参数:
名称 | 类型 | 描述 |
---|---|---|
sentenceCount
|
行数 |
|
wordsPerSentence
|
句子长度 |
yd_faker_sentenceLorem(wordCount)
- 描述:
生成指定长度的 Lorem Ipsum 句子
- 源码:
举例:
console.log(yd_string_generateSentenceLorem()); // 输出 veniam ipsum reprehenderit aliqua anim voluptate dolor sed sunt sint.
console.log(yd_string_generateSentenceLorem(2)); // 输出 occaecat ut.
参数:
名称 | 类型 | 描述 |
---|---|---|
wordCount
|
number |
句子长度 |
yd_faker_wordLorem()
- 描述:
生成一个
lorem
单词
- 源码:
举例:
console.log(yd_faker_wordLorem()); // 输出: aliqua
yd_function_curry(func) → {any}
将普通函数转换为柯里化形式
- 描述:
函数柯里化
- 源码:
举例:
function sum(a, b, c) {
return a + b + c
}
let curriedSum = curry(sum)
console.log(curriedSum(1, 2, 3)) // 原函数任然可以被正常调用
console.log(curriedSum(1)(2, 3)) // 对第一个参数的柯里化
console.log(curriedSum(1)(2)(3)) // 对所有参数柯里化
结果:
6
6
6
参数:
名称 | 类型 | 描述 |
---|---|---|
func
|
返回:
返回传入函数中的返回值
- 类型
- any
yd_helper_chain(…funcs) → {function}
该函数接受任意数量的参数,并将这些参数依次传递给函数数组中的每个函数。 第一个函数接收原始参数,后续函数接收前一个函数的返回值,最终返回最后一个函数的结果。
- 描述:
链式调用函数
- 源码:
举例:s
const add = (x) => x + 1;
const multiply = (x) => x * 2;
const subtract = (x) => x - 3;
const chainedFunction = yd_helper_chain(add, multiply, subtract);
console.log("调用链式函数并输出结果", chainedFunction(5)); // (5 + 1) * 2 - 3 = 9
const toUpperCase = (str) => str.toUpperCase();
const addExclamation = (str) => str + '!';
const repeat = (str) => str + str;
const shout = yd_helper_chain(toUpperCase, addExclamation, repeat);
console.log("调用链式函数并输出结果",shout('hello')); // "HELLO!HELLO!"
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
funcs
|
any |
<repeatable> |
函数数组 |
返回:
返回一个函数。
- 类型
- function
yd_helper_debounce(fn, delay, firstExecute) → {function}
- 描述:
函数防抖:事件触发后设定一个等待延迟时间,如果在延迟时间内事件被再次触发,则重新计算延迟时间。在延迟时间内没有触发,则会在延迟时间到达后完成函数调用。
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
fn
|
function |
高频事件 |
delay
|
Number |
防抖延迟时间 默认1000 |
firstExecute
|
Boolean |
首次是否执行函数 |
返回:
执行函数
- 类型
- function
yd_helper_delay(wait) → {Promise}
- 描述:
延迟函数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
wait
|
Number |
等待时间 |
返回:
返回延迟后的Promise
- 类型
- Promise
yd_helper_throttle(fn, interval) → {function}
- 描述:
函数节流
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
fn
|
function |
需要节流的函数 |
interval
|
Number |
时间间隔,单位为毫秒 (默认:300) |
返回:
执行函数
- 类型
- function
yd_idCard_analysis(idCard) → {object}
- 描述:
对身份证号解析
- 源码:
Properties:
名称 | 类型 | 描述 |
---|---|---|
areaCode
|
string |
地区码 |
birthDate
|
string |
出生日期 |
gender
|
string |
性别 |
valid
|
boolean |
是否有效 |
举例:
yd_idCard_analysis('110101200001011232'); // {areaCode: '110101', birthDate: '2000-01-01', gender: '男', valid: true}
参数:
名称 | 类型 | 描述 |
---|---|---|
idCard
|
string |
身份证号 |
返回:
返回身份证号各信息
- 类型
- object
yd_idCard_getBirthday(card) → {string}
- 描述:
根据身份证获取出生年月
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
card
|
string |
返回:
出生年月 yyyy-dd-mm
- 类型
- string
yd_internal_getValueType(value) → {String}
- 描述:
获取数据的值类型
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回 '[object 类型]' 字符
- 类型
- String
yd_is_array(value) → {Boolean}
- 描述:
是否是数组
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是数组
- 类型
- Boolean
yd_is_arrayContain(arr1, arr2) → {Array}
- 描述:
判断数组是否有一个相同值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
返回两个数组是否至少有一个相同值
- 类型
- Array
yd_is_boolean(value) → {Boolean}
- 描述:
判断是否是布尔值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是布尔值
- 类型
- Boolean
yd_is_chinese(str, isPure) → {Boolean}
- 描述:
是否为中文
- 源码:
- 待办:
-
- 感觉这个函数还需要再完善一下,不知道这个范围是否是全部的汉字?
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
string |
字符串 |
isPure
|
Boolean |
是否纯中文(整个字符串都为中文) |
返回:
返回是否是中文字符串
- 类型
- Boolean
yd_is_date(value) → {Boolean}
- 描述:
判断是否是日期
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是日期
- 类型
- Boolean
yd_is_email(value) → {Boolean}
- 描述:
判断是否是邮箱
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是有效邮箱
- 类型
- Boolean
yd_is_emoji(value) → {Boolean}
本函数没有使用 Emoji_Component 进行判断 详见 Unicode® Technical Standard #51 - Section 1.4.1 ED-5
- 描述:
判断是否是Emoji
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Emoji
- 类型
- Boolean
yd_is_empty(value) → {Boolean}
- 描述:
判断是否是空值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是空值
- 类型
- Boolean
yd_is_function(value) → {Boolean}
- 描述:
判断是否是函数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是函数
- 类型
- Boolean
yd_is_integer(value) → {Boolean}
- 描述:
判断是否是整数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是整数
- 类型
- Boolean
yd_is_ipv4(ip) → {boolean}
- 描述:
判断一个字符串是否是一个合法的IPV4地址
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
ip
|
string |
需要判断的IP |
返回:
返回是否是一个合法的IPV4地址
- 类型
- boolean
yd_is_map(value) → {Boolean}
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Map值
- 类型
- Boolean
yd_is_mobile() → {boolean}
- 描述:
判断是否是移动端
- 源码:
返回:
返回是否是手机端
- 类型
- boolean
yd_is_null(value) → {Boolean}
- 描述:
判断是否是Null值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Null值
- 类型
- Boolean
yd_is_number(value) → {Boolean}
- 描述:
判断是否是数字
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是数字
- 类型
- Boolean
yd_is_object(value) → {Boolean}
- 描述:
判断是否是Object值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Object值
- 类型
- Boolean
yd_is_odd(value) → {Boolean}
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是奇数
- 类型
- Boolean
yd_is_phone(value) → {Boolean}
- 描述:
判断是否是手机号
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是手机号
- 类型
- Boolean
yd_is_plainObject(value) → {Boolean}
- 描述:
判断是否是空对象
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是空对象
- 类型
- Boolean
yd_is_regexp(value) → {Boolean}
- 描述:
判断是否是正则表达式
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是正则表达式
- 类型
- Boolean
yd_is_set(value) → {Boolean}
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Set值
- 类型
- Boolean
yd_is_string(value) → {Boolean}
- 描述:
判断是否是字符串
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是字符串
- 类型
- Boolean
yd_is_symbol(value) → {Boolean}
- 描述:
判断是否是Symbol值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Symbol值
- 类型
- Boolean
yd_is_undefined(value) → {Boolean}
- 描述:
判断是否是Undefined
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Undefined值
- 类型
- Boolean
yd_is_unique(array) → {Boolean}
- 描述:
判断数组值否是唯一
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组数据 |
返回:
返回数组值是否唯一
- 类型
- Boolean
yd_is_weakMap(value) → {Boolean}
- 描述:
判断是否是WeakMap值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是WeakMap值
- 类型
- Boolean
yd_is_weakSet(value) → {Boolean}
- 描述:
判断是否是WeakSet值
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是WeakSet值
- 类型
- Boolean
yd_is_workDay(date) → {Boolean}
此方法只能检测自然工作日,无法检测国家法定节假日, 类似清明,端午,中秋,国庆这类节日需要调假日办的api获取才能判断
- 描述:
检查日期是否为工作日 (周一到周五为工作日, 周六周日为节假日)
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
date
|
Date |
日期 |
返回:
周一到周五为工作日, 周六周日为节假日
- 类型
- Boolean
yd_math_squareArea(l) → {Number}
- 描述:
正方形面积
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
l
|
Number |
正方形边长 |
返回:
正方形面积
- 类型
- Number
yd_number_deepClone(value) → {Any}
- 描述:
深度克隆
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
需要克隆的值 |
返回:
返回深度克隆值
- 类型
- Any
yd_number_masking(手机号脱敏的函数, 手机号) → {String}
应用场景:用于数据安全合规,个人隐私保护
- 描述:
手机号脱敏
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
手机号脱敏的函数
|
function | |
手机号
|
number |
返回:
- 类型
- String
yd_number_omit(obj, fields) → {Object}
- 描述:
对象属性排除
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
Object |
对象数据 |
fields
|
Array |
要排除的字段数组 |
返回:
返回排除部分属性后的对象
- 类型
- Object
yd_number_parse(传入数字) → {Object}
- 描述:
解析数字
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
传入数字
|
Number |
返回:
返回解析对象
- 类型
- Object
yd_number_pick(obj, fields) → {Object}
- 描述:
对象属性摘取
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
Object |
对象数据 |
fields
|
Array |
字段数组 |
返回:
摘取对象中的指定字段
- 类型
- Object
yd_number_pickBy(obj, fn) → {Object}
- 描述:
对象属性摘取
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
Object |
对象数据 |
fn
|
Funcion |
获取字段的方式 |
返回:
摘取对象中的指定字段
- 类型
- Object
yd_number_random(lower, upper, floating) → {number}
产生一个包括 lower 与 upper 之间的数。 如果只提供一个参数返回一个0到提供数之间的数。 如果 floating 设为 true,或者 lower 或 upper 是浮点数,结果返回浮点数。
- 描述:
获取2个数之间的随机数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
lower
|
number |
最小值 |
upper
|
number |
最大值 |
floating
|
boolean |
是否浮点数 |
返回:
随机数
- 类型
- number
yd_number_thousands(number, optionsopt) → {string}
- 描述:
返回千分位数字
- 源码:
参数:
名称 | 类型 | 属性 | 默认 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
number
|
number | ||||||||||||||||||
options
|
Object | string |
<optional> |
" "
|
Properties
|
返回:
- 类型
- string
yd_number_toBits(num, lengthopt)
- 描述:
将数字转为32位 bit 数组
- 源码:
举例:
{[0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1]}
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
num
|
Number | ||
length
|
Number |
<optional> |
比特数组长度 默认 |
返回:
返回对应位数的比特
yd_number_valid(number, symbol, decimalPlaces) → {Number}
应用场景:强制输入框必须输入有效值,如果值无效,则显示上一步的值
- 描述:
返回有效数字
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
number
|
Number |
数字传参 |
symbol
|
String |
符号(默认:-0+,表示允许负数,0和正数) |
decimalPlaces
|
Number |
小数位数 |
返回:
如果数字有效,则返回当前值,否则返回上一个有效值
- 类型
- Number
yd_object_randomSelect(collection) → {any}
支持 Array, Set, String, Map, Object 如果提供了不支持的类型或传入的集合为空,函数会抛出错误
- 描述:
从各种数据结构中随机选择一个元素
- 源码:
举例:s
// 示例: 从数组中随机选择
console.log(randomSelect([1, 2, 3, 4, 5])); // 输出: 数组中的一个随机元素
// 示例: 从字符串中随机选择
console.log(randomSelect('hello')); // 输出: 字符串中的一个随机字符
// 示例: 从集合中随机选择
console.log(randomSelect(new Set(['apple', 'banana', 'cherry']))); // 输出: 集合中的一个随机元素
// 示例: 从 Map 中随机选择
console.log(randomSelect(new Map([['a', 1], ['b', 2]]))); // 输出: 一个随机值
// 示例: 从对象属性中随机选择
console.log(randomSelect({x: 10, y: 20, z: 30})); // 输出: 一个随机属性的值
参数:
名称 | 类型 | 描述 |
---|---|---|
collection
|
Array | Set | String | Map | Object |
数据结构 |
抛出:
-
如果输入的数据结构类型不被支持或输入为空
- 类型
- TypeError
返回:
随机选择的元素
- 类型
- any
yd_regexp_businessLicense() → {RegExp}
/(^(?:(?![I0ZSV])[\dA-Z]){2}\d{6}(?:(?![I0ZSV])[\dA-Z]){10}$)|(^\d{15}$)|([0-9A-Z]{18})/
- 描述:
营业执照号码校验
- 源码:
返回:
返回营业执照号码正则
- 类型
- RegExp
yd_regexp_licencePlateNumber() → {RegExp}
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
- 描述:
车牌号校验
- 源码:
返回:
返回车牌号正则
- 类型
- RegExp
yd_regexp_regexp() → {RegExp}
/^[GCDZTSPKXLY1-9]\d{1,4}$/
- 描述:
火车车次正则
- 源码:
返回:
返回火车车次正则
- 类型
- RegExp
yd_string_array2Tree(arrs, id, pid, children) → {Array}
应用场景:用于生成无限级菜单结构
- 描述:
一维数组生成无限级树结构
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arrs
|
Array |
传入的一维数组 |
id
|
String |
唯一标识字段 |
pid
|
String |
父级标识字段 |
children
|
String |
子级标识字段 |
返回:
返回一个无限级数组结构
- 类型
- Array
yd_string_between(fullStr, prefix, suffix) → {String}
- 描述:
取出两个字符串之间的文本
- 源码:
举例:
yd_string_between("hello","h","o") -> ell
参数:
名称 | 类型 | 描述 |
---|---|---|
fullStr
|
String |
原始字符串 |
prefix
|
String |
前字符串 |
suffix
|
String |
后字符串 |
返回:
取出的中间字符串
- 类型
- String
yd_string_camelCase(value, delimiter) → {String}
- 描述:
字符串转小驼峰风格
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
String |
字符串数据 |
delimiter
|
String |
分隔符 |
返回:
返回小驼峰风格的字符串
- 类型
- String
yd_string_capitalize(value, delimiter) → {String}
- 描述:
字符串首字母大写
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
String |
字符串数据 |
delimiter
|
String |
分隔符 |
返回:
返回首字母大写的字符串
- 类型
- String
yd_string_displace(strs, start, end, placeholder) → {String}
参数:
名称 | 类型 | 描述 |
---|---|---|
strs
|
String |
字符串 |
start
|
Number |
前面留多少个字符 |
end
|
Number |
后面留多少个字符 |
placeholder
|
String |
占位符 |
返回:
返回置换后的字符串
- 类型
- String
yd_string_kebabCase(value, delimiter) → {String}
- 描述:
字符串转中划线风格
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
String |
字符串数据 |
delimiter
|
String |
分隔符 |
返回:
返回中划线风格的字符串
- 类型
- String
yd_string_randomString(length, includeSpecialopt) → {String}
- 描述:
根据指定长度生成随机字符串,可选是否包含特殊字符。
- 源码:
举例:s
console.log(generateRandomString(10)) // 输出示例: "LGEc8EptLr"
console.log(generateRandomString(10, true)) // 输出示例: "7ooxUA9'}:CP4)urV##["
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
length
|
Number |
要生成的字符串的长度。 |
||
includeSpecial
|
Boolean |
<optional> |
false
|
是否包含特殊字符。 |
返回:
- 生成的随机字符串。
- 类型
- String
yd_string_reverse(str) → {string}
将提供的字符串按照反转输出
- 描述:
字符串反转
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
要转换的字符串 |
返回:
返回结果
- 类型
- string
yd_string_short(address, startNum, endNum) → {String}
- 描述:
字符串缩短展示
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
address
|
String |
字符串 |
startNum
|
Number |
前面留几个字符 |
endNum
|
Number |
后面留几个支付 |
返回:
返回截断后的字符串
- 类型
- String
yd_string_snakeCase(value, delimiter) → {String}
- 描述:
字符串转蛇形风格
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
String |
字符串数据 |
delimiter
|
String |
分隔符 |
返回:
返回蛇型风格的字符串
- 类型
- String
yd_string_traverse(tree, mapFunction) → {function}
- 描述:
数结构遍历函数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
tree
|
Array |
树结构数据 |
mapFunction
|
function |
迭代函数 |
返回:
树结构迭代
- 类型
- function
yd_string_trimAll(str) → {string}
- 描述:
去除字符串中所有空白字符
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
要转换的字符串 |
返回:
返回去除空白后的字符串
- 类型
- string