ホームページ > 記事 > ウェブフロントエンド > 数学、配列、日付の関連例
数学、配列、日付は学習中によく出てくるもので、この記事ではそれらについて説明します。
最小値を含むが最大値は含まない、最小値から最大値までのランダムな整数を返す関数を作成します
function getRandom (min,max) { return Math.floor(Math.random()*(max-min) + min) }//Math.floor 返回小于参数值的最大整数//Math.random 返回[0,1)之间的随机数
最大値を含む最小値を含む、最小値から最大値までのランダムな整数を返す関数を作成します
function getRandom (min,max) { return Math.floor(Math.random()*(max-min+1) + min) }
関数を作成し、長さ n のランダムな文字列。文字列の値の範囲には 0 ~ 9、a ~ z、A ~ Z が含まれます
function getRandomStr (n) { var dict = '0123456789'+ 'abcdefghijklnmopqrstuvwxyz'+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; //一个字典; var string = ''; for (i=0; i<n; i++) { string += dict[Math.floor(Math.random()*62)] ; } return string ; }
有効な IP アドレスは 0.0 .0.0~255.255.255.255 です。
function getRandIP(){ var ipArr = []; for (i=0; i<4; i++) { ipArr.push(Math.floor(Math.random()*256)); //push()方法把元素从尾部放进数组; } return ipArr.join('.'); }var ip = getRandIP()console.log(ip)
正しい色は #000000~ #ffffff です
function getColor () { var dict = '0123456789abcdef' var color = '#'; for (i=0; i<6; i++) { color += dict[Math.floor(Math.random()*16)]; } return color; } getColor() ;
配列メソッドのプッシュ、ポップ、シフト、結合、スプライスの関数は何ですか? splice 関数を使用して、push、pop、shift、unshift メソッドをそれぞれ実装します。push() メソッドは、配列の末尾から要素を挿入し、元の配列の長さとインデックスを変更します。 ] ;
a.push(4) ;a ; // [4]
pop() メソッドは、元の配列の長さとインデックスを変更して、配列を削除して返すことができます。 [1,2] ;
a.pop() ; // 2a ; // [1]
shift() メソッドは、配列の最初の要素を削除し、長さを変更して最初の要素の値を返すことができます。元の配列のインデックス
var a= [1,2,3,4];
a.shift() //[2,3,4]
;メソッドは 1 つ以上の要素を配列の先頭に追加し、元の配列の長さとインデックスを変更して新しい長さを返します
var a=[1,2,3,4,5];
a.unshift(7) ,8); //7a; //[7, 8,1,2,3,4,5]
splice() メソッドは、配列に項目を追加/削除し、削除された項目を返します。削除されない場合は、空の配列が返され、元の配列の長さとインデックスが変更されます。 ;
var a=[1,2,3];
a.splice(0,1); ; //位置 0 から開始し、1 ビットを削除します。 //[2,3 ]
var a=[1,2,3];
var a=[1,2,3,4] ;
a.splice(1,1,7,8); //[2] ; 1 番目の位置から 1 番目の位置 ([2]) を削除し、7,8 を挿入します。 ,8,3,4];
push() は splice() 、pop()、shift()、unshift() メソッドで実装できます
var a =[1,2,3,4,5 ,6];
a.splice(a.length,0,n) // 実装 Push()、n は渡したい要素です。 a.splice(a.length-1,1)// Pop を実装します。 (); a.splice(0,1) // shlice() を実装します。 a.splice (0,0,n) // unshift() を実装します。n は渡したい要素です。配列を操作する関数。配列内の各項目は元の正方形になり、元の配列を操作します
function squareArr(arr){ for (i=0; i<arr.length; i++) { arr[i] = arr[i]*arr[i]; } return arr; }var arr = [2, 4, 6] squareArr(arr)console.log(arr) // [4,16,36]配列を操作して新しい配列を返す関数を作成します。新しい配列には正の数値と元の配列のみが含まれます。変更されないままです
function filterPositive(arr){ var newArr = []; var k = 0; for (i=0; i<arr.length; i++) { if (typeof arr[i] === 'number') { //验证是否为数字 if(arr[i]>0) { newArr[k] = arr[i]; k++; } } } return newArr; }var arr = [3, -1, 2, '饥人谷', true]var newArr = filterPositive(arr)console.log(newArr) //[3, 2]console.log(arr) //[3, -1, 2, '饥人谷', true]現在時刻から指定された日付までの間隔を取得する関数 getChIntv を作成します
//示例var str = getChIntv("2017-02-08");console.log(str); // 距除夕还有 20 天 15 小时 20 分 10 秒 function getChIntv(date) { var time = Math.abs(Date.now()-Date.parse(date)); var day = Math.floor(time/86400000); var hour = Math.floor(time%86400000/3600000); var min = Math.floor(time%86400000%3600000/60000) var s = Math.floor(time%86400000%3600000%60000/1000) var ms = (time%86400000%3600000%60000%1000); return '距离'+date+': '+day+' 天 '+hour+' 小时 '+min+' 分钟 '+s+' 秒 '+ms+' 毫秒 '} getChIntv('2017-04-08') //距离2017-04-08: 55 天 4 小时 0 分钟 45 秒 774 毫秒;
//示例var str = getChsDate('2015-01-08');console.log(str); // 二零一五年一月八日 var dict ={0:'零',1:'一',2:'二',3:'三',4:'四',5:'五',6:'六',7:'七',8:'八',9:'九', 10:'十',11:'十一',12:'十二',13:'十三',14:'十四',15:'十五',16:'十六', 17:'十七',18:'十八',19:'十九',20:'二十',21:'二十一',22:'二十二',23:'二十三', 24:'二十四',25:'二十五',26:'二十六',27:'二十七',28:'二十八',29:'二十九',30:'三十',31:'三十一'} function getCHT (date) { time = date.split('-'); year = time[0].split(''); for (i=0; i<year.length; i++) { year[i] = dict[year[i]]; } month = dict[parseInt(time[1])]; day = dict[parseInt(time[2])]; return year.join('')+' 年 '+month+' 月 '+day+' 日'} getCHT('2017-06-01') // 二零一七年六月一日;関数を作成します。パラメータは文字列です時間オブジェクトのミリ秒の形式であり、戻り値は文字列です。パラメーターが時間オブジェクト ミリ秒 t であると仮定し、t の時間に従って次の文字列が返されるとします。 just now (t は現在時刻から 1 分未満の間隔です) 3 minutes ago (t はそれより大きいです)現在時刻から 1 分以上 1 時間未満)8 時間前 (現在時刻から 1 時間以上 24 時間未満)3 日前 (t 以降)現在時刻から 24 時間以上 30 日未満)2 か月前 (t は距離です。現在時刻は 30 日以上 12 か月未満です)8 年前 (t現在の時刻から 12 か月以上です)
//示例function friendlyDate(time){ }var str = friendlyDate( '1484286699422' ) // 1分钟前var str2 = friendlyDate('1483941245793') //4天前 function friendlyDate(time){ var nowT = Date.now(); //Date.now()获取当前时间距离1970年1月1日00:00:00的毫秒数 pastT = nowT-time; if (pastT<=60*1000) { return '刚刚' }if (pastT>60000 && pastT<3600*1000) { return Math.floor(pastT/60000)+'分钟前' }if (pastT>=3600*1000 && pastT<24*3600*1000) { return Math.floor(pastT/(3600*1000))+'小时前' }if (pastT>=24*3600*1000 && pastT<30*24*3600*1000) { return Math.floor(pastT/(24*3600*1000))+'天前' }if (pastT>=30*24*3600*1000 && pastT<12*30*24*3600*1000) { return Math.floor(pastT/(30*24*3600*1000))+'月前' }else { return Math.floor(pastT/(360*24*3600*1000))+'年前' } } friendlyDate(1496246400000) //一天前;この記事では、数学、配列、日付に関連する内容と例を詳しく説明します。その他の関連コンテンツにも注目してください。 関連する推奨事項:
HTML5/CSS3 関連知識の説明
DOM での Javascript 操作によく使用される API のまとめ JavaScript タイマーと DOM ドキュメントの完全なまとめ
以上が数学、配列、日付の関連例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。