// 冒泡排序
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方法封装使用的更多相关文章

  1. 常用js方法封装

    常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...

  2. 项目常用JS方法封装--奋斗的IT青年(微信公众号)

                                                                                                        ...

  3. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  4. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  5. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  6. appium安卓自动化的 常用driver方法封装

    appium安卓自动化的 常用driver方法封装 做安卓自动化的时候,很多方法写起来会造成代码冗余,把这部分封装起来 ,添加到androidUI工具类里,随时可调用 都放在这个类下面: @Compo ...

  7. JS常用公共方法封装

    _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...

  8. 常用js方法整理(个人)

    开头总要有点废话 今天想了下,还是分享下自己平时积累的一些实用性较高的js方法,供大家指点和评价.本想分篇介绍,发现有点画蛇添足.整理了下也没多少拿得出手的方法,自然有一些是网上看到的个人觉得很有实用 ...

  9. 在项目中常用的JS方法封装

    使用方法简单,只需要放在你的 utils.js 工具文件中,直接export const 加上下面封装方法,在别的文件中使用 {方法1,方法2,方法3...}引用后直接使用即可. 01.输入一个值.返 ...

随机推荐

  1. 基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡381

    一.板卡概述 板卡采用基于双FPGA+双DSP的信号采集综合处理硬件平台,板卡大小360mmx217mm.板卡两片FPGA提供两个FMC接口,4路QSFP+接口:每片FPGA挂接2簇32-bit DD ...

  2. Keycode含义

    keycode 是键盘上每一个按键对应的码keycode如下 :keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode ...

  3. c#中DataTable和DataSet区别

    你可以把DataTable和DataSet看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器? 原因 ...

  4. git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

    Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...

  5. Java:字符编码

    常用的字符编码 UFT-8 ISO-8859-1 GBK/GBK2312

  6. 微信小程序-wxml-空格

    必须要在<text>标签中 先在标签中写decode="{{true}}"然后 就代表空格了   占一个中文字符

  7. Warning: Failed prop type: Invalid prop `value` supplied to `Picker`.报错问题

    在使用antd的日期插件时,不留意就会报各种错误. 例如:Warning: Failed prop type: Invalid prop `value` supplied to `Picker`. 这 ...

  8. php reset()函数 语法

    php reset()函数 语法 作用:将内部指针指向数组中的第一个元素,并输出.博智达 语法:reset(array) 参数: 参数 描述 array  必需.规定要使用的数组. 说明:若成功则返回 ...

  9. java 8 接口默认方法

    解决问题:在java8 之前的版本,在修改已有的接口的时候,需要修改实现该接口的实现类. 作用:解决接口的修改与现有的实现不兼容的问题.在不影响原有实现类的结构下修改新的功能方法 案例: 首先定义一个 ...

  10. 【bzoj1975】[Sdoi2010]魔法猪学院

    *题目描述: iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元 ...