常用js方法封装使用
// 冒泡排序
export function bubbleSort(arr) {
let i = arr.length - 1;
while (i > 0) {
let maxIndex = 0;
for (let j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
maxIndex = j;
}
}
i = maxIndex;
}
return arr;
}
// 通过属性值冒泡排序
export function bubbleSortByProp(arr, prop) {
let i = arr.length - 1;
while (i > 0) {
let maxIndex = 0;
for (let j = 0; j < i; j++) {
if (arr[j][prop] > arr[j + 1][prop]) {
let temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
maxIndex = j;
}
}
i = maxIndex;
}
return arr;
}
// 获取指定月份天数
export function getDateByMon(year, month){
let d = new Date(year, month, 0);
return d.getDate();
}
// 判断时间是不是今天
export function isTodayDate(time) {
if (time.toDateString() === new Date().toDateString()) {
return true;
} else {
return false;
}
}
// 对象判空
export function isObjEmpty(obj) {
if (obj && obj.constructor === Object) {
return Object.keys(obj).length;
}
if (obj && obj.constructor === Array) {
return obj.length;
}
}
// 首字母大写
export const capitalizeFirstLetter = (string) => {
return string.charAt(0).toUpperCase() + string.slice(1);
};
// 过滤值为空字符串或者为null的参数
export function getQuery(query) {
let res = {};
for (let [key, val] of Object.entries(query)) {
if (typeof val === 'string') {
if (!val.trim() || val === 'null') continue;
} else {
if (val === null || val === undefined) continue;
}
res[key] = val;
};
return res;
}
// 判断文件类型
export function isImage(fileName) {
if (typeof fileName !== 'string') return;
let name = fileName.toLowerCase();
return name.endsWith('.png') || name.endsWith('.jpeg') || name.endsWith('.jpg') || name.endsWith('.png') || name.endsWith('.bmp');
} export function isH5Video(fileName) {
if (typeof fileName !== 'string') return;
let name = fileName.toLowerCase();
return name.endsWith('.mp4') || name.endsWith('.webm') || name.endsWith('.ogg');
}
export function isPdf(fileName) {
if (typeof fileName !== 'string') return;
let name = fileName.toLowerCase();
return name.endsWith('.pdf');
} export function isWord(fileName) {
if (typeof fileName !== 'string') return;
let name = fileName.toLowerCase();
return name.endsWith('.doc') || name.endsWith('.docx');
} export function isExcel(fileName) {
if (typeof fileName !== 'string') return;
let name = fileName.toLowerCase();
return name.endsWith('.xlsx') || name.endsWith('.xls');
}
// 数字2位转换
export function toDouble(num) {
if (num < 10) {
return '0' + num;
} else {
return num;
}
}
// 动态加载js
export function loadApi(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.type = '';
script.src = src;
script.async = 'async';
document.head.appendChild(script); script.onload = () => { resolve(); };
script.onerror = () => { reject(); };
});
} // 动态加载css
export function loadCss(src) {
return new Promise((resolve, reject) => {
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = src;
document.head.appendChild(link);
});
}
常用js方法封装使用的更多相关文章
- 常用js方法封装
常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...
- 项目常用JS方法封装--奋斗的IT青年(微信公众号)
...
- 常用js方法
function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- appium安卓自动化的 常用driver方法封装
appium安卓自动化的 常用driver方法封装 做安卓自动化的时候,很多方法写起来会造成代码冗余,把这部分封装起来 ,添加到androidUI工具类里,随时可调用 都放在这个类下面: @Compo ...
- JS常用公共方法封装
_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...
- 常用js方法整理(个人)
开头总要有点废话 今天想了下,还是分享下自己平时积累的一些实用性较高的js方法,供大家指点和评价.本想分篇介绍,发现有点画蛇添足.整理了下也没多少拿得出手的方法,自然有一些是网上看到的个人觉得很有实用 ...
- 在项目中常用的JS方法封装
使用方法简单,只需要放在你的 utils.js 工具文件中,直接export const 加上下面封装方法,在别的文件中使用 {方法1,方法2,方法3...}引用后直接使用即可. 01.输入一个值.返 ...
随机推荐
- SQL SERVER 索引维护
-- 全数据库索引重建 DECLARE @name varchar(100)DECLARE authors_cursor CURSOR FOR Select [name] from sysobject ...
- 005-sort 命令使用
字符处理命令 sort 排序命令 排序选项: -f, --ignore-case 忽略字母大小写 -n, --numeric-sort 根据字符串数值比较 -r, --reverse 逆序输出排序结果 ...
- 笔记42 Spring Web Flow——Demo(2)
转自:https://www.cnblogs.com/lyj-gyq/p/9117339.html 为了更好的理解披萨订购应用,再做一个小的Demo. 一.Spring Web Flow 2.0新特性 ...
- DevExpress v19.1新版亮点——WinForms篇(一)
行业领先的.NET界面控件DevExpress v19.1终于正式发布,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WinForms v19.1中新增的一些控 ...
- python getattr函数的妙用
import platform class Test: def test(self): func = getattr(self,'windows') func() @staticmethod def ...
- react native之封装离线缓存框架
请求数据=>本地有无缓存+缓存数据是否过期 =>可用 =>不可用 将代码封装成一个DataStore.js文件, 这里面主要提供:从本地获取数据,从网络获取数据,创建本地时间戳,请求 ...
- React Native 之 createBottomTabNavigator,createMaterialTopTabNavigator
icon第三方库 yarn add react-native-vector-icons react-native link react-native-vector-icons 在上次的代码中添加: A ...
- Comet OJ - Contest #6 C 一道树题 数学 + 推导
Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) ...
- luogu 2219[HAOI2007]修筑绿化带 单调队列
Code: #include<bits/stdc++.h> using namespace std; #define setIO(s) freopen(s".in",& ...
- [luogu]P3938 斐波那契[数学]
[luogu]P3938 斐波那契 题目描述 小 C 养了一些很可爱的兔子. 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍:一对兔子从出生后第二个月起,每个月刚 ...