字符串
字符串获取指定字符的所有下标
// 字符串获取指定字符的所有下标 export function getIndexList(string, char) { let arr = []; let index = -1; do { index = string.indexOf(char, index + 1); if (index != -1) { arr.push(index); } } while (index != -1); if (arr.length > 0) { return arr; } else { return -1; } }
使用
let str = "012$456$8"; let indexList = getIndexList(str, "$"); console.log(indexList); // [ 3, 7 ]
字符串统计指定字符出现的次数
//字符串统计指定字符出现的次数 export function count(string, char) { let array = string.match(new RegExp(char, "g")); return array ? array.length : 0; }
使用
let str = "012$456$8"; // 特殊字符需用 \\ 转义 let num = count(str, "\\$"); console.log(num); //2 str = "a23a23a23a"; num = count(str, "a"); console.log(num); //4
对象数组
对象数组移除指定对象
// 对象数组移除指定对象 removeObjItem(objList, "age", 20); export function removeObjItem(arr, prop, value) { let targetIndex = arr.findIndex((itemTemp) => itemTemp[prop] === value); if (targetIndex !== -1) { arr.splice(targetIndex, 1); } }
对象数组指定对象置顶
// 对象数组指定对象置顶 topObjItem(objList, "age", 20); export function topObjItem(arr, prop, value) { let targetIndex = arr.findIndex((itemTemp) => itemTemp[prop] === value); if (targetIndex !== -1) { let item = arr[targetIndex] arr.splice(targetIndex, 1); arr.unshift(item) } }
对象数组获取指定对象下标
// 对象数组获取指定对象下标 export function getObjArrIndex(arr, prop, value) { let targetIndex = arr.findIndex((itemTemp) => itemTemp[prop] === value); if (targetIndex !== -1) { return targetIndex } }
对象数组按指定属性排序
// 对象数组按指定属性排序 arr5.sort(sortBy('id',1)) attr:根据该属性排序;rev:升序1或降序-1,不填则默认为1 export function sortBy(attr, rev) { if (rev == undefined) { rev = 1 } else { (rev) ? 1: -1; } return function (a, b) { a = a[attr]; b = b[attr]; if (a < b) { return rev * -1 } if (a > b) { return rev * 1 } return 0; } }
日期时间处理
日期转字符串
//日期转字符串 2023-02-01 export function DateToStr(date) { if (typeof date === 'string') { return date } let year = date.getFullYear(); //年 let month = date.getMonth(); //月 let day = date.getDate(); //日 return year + "-" + ((month + 1) > 9 ? (month + 1) : "0" + (month + 1)) + "-" + (day > 9 ? day : ("0" + day)) + " " }
日期+时间 转字符串
//日期+时间 转字符串 2023-02-01 17:40:35 export function DateTimeToStr(DateTime) { if (typeof DateTime === 'string') { return DateTime } var year = DateTime.getFullYear(); //年 var month = DateTime.getMonth(); //月 var day = DateTime.getDate(); //日 var hours = DateTime.getHours(); //时 var min = DateTime.getMinutes(); //分 var second = DateTime.getSeconds(); //秒 return year + "-" + ((month + 1) > 9 ? (month + 1) : "0" + (month + 1)) + "-" + (day > 9 ? day : ("0" + day)) + " " + (hours > 9 ? hours : ("0" + hours)) + ":" + (min > 9 ? min : ("0" + min)) + ":" + (second > 9 ? second : ("0" + second)); }
其他
生成随机id
// 生成随机id export function randomID() { return (Math.random() + new Date().getTime()).toString(32).slice(0, 8) }