let object={key:undefined,value:undefined}
console.log(true==object)//false
console.log(false==object)//false
console.log(!object)//false
console.log(!!object)//true
去掉小数部分
字符串2转number2
let arr = [1, [2, [3, 4]]];
console.log(arr.flat(Infinity)); // [1, 2, 3, 4,5]
for (let key in todayData.value){
todayData.value[key] = new Intl.NumberFormat('en',{
maximumFractionDigits:2,
}).format(todayData.value[key])
}
http://momentjs.cn/docs/#/i18n/
http://www.javashuo.com/article/p-ddrrfroe-ed.html
import moment from 'moment'
moment(date).format('YYYY-MM-DD')
//格式化时间戳(以秒为单位)
moment().format('X')
//格式化时间戳(以毫秒为单位)
moment().format('x')
//是否以前(是否以后,在之间)
moment('2010-10-20').isBefore('2010-10-21'); // true isAfter isBetween
let data=['20214','20213','20222','20221','20221']
let arr=[]
for(let i=0;i<data.length;i++){
arr.push(data[i])
}
arr=[...new Set(arr)]
arr.sort((a,b)=>a-b)//升序
//排序对象的话arr.sort((a,b)=>a.属性-b.属性)
const shuffle = (arr) =>{
return arr.sort(() => Math.random() - 0.5)
}
const arr = [1, 2, 3, 4, 5]
console.log(shuffle(arr))
const generateRandomHexColor=()=>{
return `#${Math.floor(Math.random()*0xffffff).toString(16)}`
}
console.log(generateRandomHexColor())
const copyToClipboard = (text)=>{
return navigator.clipboard && navigator.clipboard.writeText && navigator.clipboard.writeText(text)
}
copyToClipboard("hello world")
const getSelectedText = () => window.getSelection().toString();
parseFloat(“”)返回NaN,
parseFloat(1.11).toFixed(2)返回的是string
Math.floor(parseFloat(1.11)*100)/100 返回的是number //round 四舍五入
Json大部分情况都可以使用,不行的情况可以使用lodash
let data = JSON.parse(JSON.stringify(this.form));
let deep = _.cloneDeep(objects);
let myDeepCopy=structuredClone(myOriginal)
let blob= new Blob(['字符串'],{type:'text/plain'})//new blob第一个参数是对象数组,Blob/ArrayBuffer/ArrayBufferView/
let reader =new FileReader()
reader.readAsText(blob,'utf-8')
reader.onload=()=>{
console.log(reader.result)
}
String.fromCharCode( index+ 65)
const charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789'
let RandomIndex = (min, max, i) => {
let index = Math.floor(Math.random() * (max - min + 1) + min),
numStart = charStr.length - 10;
//如果字符串第一位是数字,则递归重新获取
if (i == 0 && index >= numStart) {
index = RandomIndex(min, max, i);
}
//返回最终索引值
return index;
}
export default (len) => {
let min = 0, max = charStr.length - 1, _str = '';
//判断是否指定长度,否则默认长度为16
len = len || 16;
for (var i = 0, index; i < len; i++) {
index = RandomIndex(min, max, i);
_str += charStr[index];
}
return _str;
}
let data = new FormData()
let file = new File([u8arr],filename,{type:'image/png'})
data.append("file", file)
ajax.api(data).then(()=>{})
export const getObjType = obj => {
var toString = Object.prototype.toString;
var map = {
'[object Boolean]': 'boolean',
'[object Number]': 'number',
'[object String]': 'string',
'[object Function]': 'function',
'[object Array]': 'array',
'[object Date]': 'date',
'[object RegExp]': 'regExp',
'[object Undefined]': 'undefined',
'[object Null]': 'null',
'[object Object]': 'object'
};
if (obj instanceof Element) {
return 'element';
}
return map[toString.call(obj)];
};
export const addParam = (params) => {
let result = [];
for (let key in params) {
result.push(`${key}=${params[key]}`)
}
if (result.length == 0) return ''
return `?${result.join('&')}`
};
例:params是参数对象 url=url+addParam(params)
export const getUrlParams = (url) => {
let result = {
url: '',
params: {}
};
let list = url.split('?');
result.url = list[0];
let params = list[1];
if (params) {
let list = params.split('&');
list.forEach(ele => {
let dic = ele.split('=');
let label = dic[0];
let value = dic[1];
result.params[label] = value;
});
}
return result;
};