getRandom ( x ) {
let val = '' ;
if ( x <= 10 ) {
val = Math. random ( ) . toString ( ) . slice ( 2 , x + 2 )
} else {
let mul = Math. floor ( x / 10 )
let surplur = x - 10 * mul
for ( let i = 0 ; i < mul; i++ ) {
val += Math. random ( ) . toString ( ) . slice ( 2 , 12 )
}
surplur && ( val = val + Math. random ( ) . toString ( ) . slice ( 2 , surplur + 2 ) )
}
return val
}
getRandom ( 5 )
getRandom ( 10 )
getRandom ( 15 )
getRandom ( 20 )
const array = Array ( 5 ) . fill ( '' )
array
const matrix = Array ( 5 ) . fill ( 0 ) . map ( ( ) => Array ( 5 ) . fill ( 0 ) )
matrix
const array = [ 5 , 4 , 7 , 8 , 9 , 2 ]
array. reduce ( ( a, b ) => a+ b)
array. reduce ( ( a, b ) => a> b? a: b)
array. reduce ( ( a, b ) => a< b? a: b)
-- 排序字符串数组
const stringArr = [ 'Joe' , 'Kapil' , 'Steve' , 'Musk' ]
stringArr. sort ( )
stringArr. reverse ( )
-- 排序数字数组
const array = [ 40 , 100 , 1 , 5 , 25 , 10 ]
array. sort ( ( a, b ) => a- b)
array. sort ( ( a, b ) => b- a)
-- 对象数组排序
const objectArr = [
{ first_name : 'Lazslo' , last_name : 'Jamf' } ,
{ first_name : 'Pig' , last_name : 'Bodine' } ,
{ first_name : 'Pirate' , last_name : 'Prentice' } ,
]
objectArr
0 : { first_name : 'Pig' , last_name : 'Bodine' }
1 : { first_name : 'Lazslo' , last_name : 'Jamf' }
2 : { first_name : 'Pirate' , last_name : 'Prentice' }
const array = [ 3 , 0 , 6 , 7 , '' , false ]
array. filter ( Boolean)
function doSomething ( arg1 ) {
arg1 = arg1 || 10
return arg1
}
let foo = 10
foo === 10 && doSomething ( )
foo === 5 || doSomething ( )
foo === 10 || doSomething ( )
function Fever ( temp ) {
return temp > 97 ? 'Visit Doctor!' : temp < 97 ? 'Go Out and Play!!' : temp === 97 ? 'Take Some Rest!'
}
Fever ( 97 )
Fever ( 100 )
let string = 'kkkapiliekty'
const table = { }
for ( let char of string) {
table[ char] = table[ char] + 1 || 1
}
table
let a = 5
let b = 8
[ a, b] = [ b, a]
[ a, b]
将数组扁平化并去除其中重复数值返回新数组,并计算出剩余全部数据总值
function ( arr ) {
let newArr, total;
newArr= Array. from ( new Set ( arr. join ( ) . split ( ',' ) ) ) . map ( x => Number ( x) )
total = newArr. reduce ( ( a, b ) => a + b )
return { arr, total}
}
< span v- html= "value.replace(/\n/gm, '<br>')" / > < br>
网站跳转其他网站时显示403,解决方法:在index.html上加上
< meta name= referrer content= no- referrer>
export function strlen ( is, str ) {
var len = 0 ;
for ( var i = 0 ; i < str. length; i++ ) {
var c = str. charCodeAt ( i) ;
if ( ( c >= 0x0001 && c <= 0x007e ) || ( 0xff60 <= c && c <= 0xff9f ) ) {
len++ ;
} else {
len += 2 ;
}
}
return len;
}
element中日期选择器禁止选择今天此刻之前 的时间
< template>
< el- date- picker
: disabled= "isDetail"
v- model= "time"
type= "datetimerange"
: picker- options= "pickerOptions"
start- placeholder= "开始时间"
range- separator= "至"
end- placeholder= "结束时间"
value- format= "yyyy-MM-dd HH:mm:ss"
>
< / el- date- picker>
< / template>
< script>
export default {
data ( ) {
return {
pickerOptions : {
disabledDate ( time ) {
return time. getTime ( ) < Date. now ( ) - 8.64e7 ;
} ,
selectableRange : "00:00:00 - 23:59:59"
} ,
}
} ,
watch : {
time ( ) {
this . selectable ( )
}
} ,
methods : {
selectable ( ) {
const data = moment ( this . time) . startOf ( 'day' ) . format ( 'x' )
const nowDate = moment ( ) . startOf ( 'day' ) . format ( 'x' )
if ( date<= nowDate) {
this . pickerOptions. selectableRange = ` ${ moment ( ) . format ( 'HH:mm:ss' ) } - 23:59:59 `
} else {
this . selectableRange. selectableRange = "00:00:00 - 23:59:59"
}
}
}
}
< / script>
element中日期选择器禁止选择今天此刻之后 的时间
< template>
< el- date- picker
: disabled= "isDetail"
v- model= "time"
type= "datetimerange"
: picker- options= "pickerOptions"
start- placeholder= "开始时间"
range- separator= "至"
end- placeholder= "结束时间"
value- format= "yyyy-MM-dd HH:mm:ss"
>
< / el- date- picker>
< / template>
< script>
export default {
data ( ) {
return {
pickerOptions : {
disabledDate ( time ) {
return time. getTime ( ) > Date. now ( ) ;
} ,
selectableRange : "00:00:00 - 23:59:59"
} ,
}
} ,
watch : {
time ( ) {
this . selectable ( )
}
} ,
methods : {
selectable ( ) {
const data = moment ( this . time) . startOf ( 'day' ) . format ( 'x' )
const nowDate = moment ( ) . startOf ( 'day' ) . format ( 'x' )
if ( date> nowDate) {
this . pickerOptions. selectableRange = ` 00:00:00 - ${ moment ( ) . format ( 'HH:mm:ss' ) } `
} else {
this . selectableRange. selectableRange = "00:00:00 - 23:59:59"
}
}
}
}
< / script>
借助element上传Excel文件并读取文件内容
< template>
< el- upload
: disabled= "isDetail"
action= ""
: show- file- list= "false"
: http- request= "uploadRequest"
style= "display: inline-block;"
>
< el- button : disabled= "isDetail" type= "primary" class = "import-file"
> < i class = "el-icon-plus" > < / i> 上传附件< / el- button
>
< / el- upload>
< / template>
< script>
import XLSX from "xlsx" ;
export default {
methods : {
uploadRequest ( file ) {
const extension = file. file. name. substring ( file. file. name. lastIndexOf ( '.' ) + 1 )
if ( extension !== 'xls' && extension !== 'xlsx' ) {
this . $message. warning ( '只能上传Excel文件' )
}
const fileReader = new FileReader ( )
fileReader. readAsBinaryString ( file. file)
fileReader. onload = ev => {
try {
const data = ev. target. result
const workbook = XLSX . read ( data, { type : 'binary' } )
const wsname = workbook. She etNames[ 0 ]
const ws = XLSX . utils. sheet_to_json ( workbook. Sheets[ wsname] )
const ws = XLSX . utils. sheet_to_json ( workbook. Sheets[ wsname] , { range : 1 } )
const ws1 = XLSX . utils. sheet_to_slk ( workbook. Sheets[ wsname] )
const ws2 = XLSX . utils. sheet_to_html ( workbook. Sheets[ waname] )
const ws3 = XLSX . utils. sheet_to_csv ( workbook. Sheets[ waname] )
const ws4 = XLSX . utils. sheet_to_formulae ( workbook. Sheets[ waname] )
const ws5 = XLSX . utils. sheet_to_txt ( workbook. Sheets[ waname] )
this . list = [ ]
for ( let i = 0 ; i< ws. length; i++ ) {
this . list. push ( ws[ i] )
}
}
}
}
}
}
< / script>
npm i crypto- js -- save
import CryptoJS from 'crypto-js' ;
let key = 'xxxxxxxx'
let iv = 'xxxxxx'
export function getAES ( originData ) {
let data = CryptoJS. enc. Utf8. parse ( originData) ;
let key = CryptoJS. enc. Utf8. parse ( key) ;
let iv = CryptoJS. enc. Utf8. parse ( iv) ;
let encrypted = CryptoJS. AES . encrypt ( data, key, {
iv : iv,
mode : CryptoJS. mode. CBC ,
padding : CryptoJS. pad. Pkcs7
} ) ;
return encrypted. ciphertext. toString ( ) ;
}
export function getDecryptAES ( word ) {
var encryptedHexStr = CryptoJS. enc. Hex. parse ( word) ;
var encryptedBase64Str = CryptoJS. enc. Base64. stringify ( encryptedHexStr) ;
var decrypted = CryptoJS. AES . decrypt ( encryptedBase64Str, key, {
iv : iv,
mode : CryptoJS. mode. CBC ,
padding : CryptoJS. pad. ZeroPadding,
} ) ;
return decrypted. toString ( CryptoJS. enc. Utf8) ;
}