数学、配列、日付の関連例

May 21, 2018 pm 03:05 PM

数学、配列、日付は学習中によく出てくるもので、この記事ではそれらについて説明します。

最小値を含むが最大値は含まない、最小値から最大値までのランダムな整数を返す関数を作成します

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];

a.splice(0,0,7,8); ]; ビット 0 から開始して、ビット 0 を削除し、7,8 を挿入します (前から挿入) //[7,8,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 毫秒;
ログイン後にコピー

hh を入力します- mm-dd 形式のデジタル日付を中国の日付に変更します
//示例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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

jQuery日付が有効かどうかを確認します jQuery日付が有効かどうかを確認します Mar 01, 2025 am 08:51 AM

jQuery日付が有効かどうかを確認します

jQueryは要素のパディング/マージンを取得します jQueryは要素のパディング/マージンを取得します Mar 01, 2025 am 08:53 AM

jQueryは要素のパディング/マージンを取得します

トップ5の日付操作JSプラグイン トップ5の日付操作JSプラグイン Feb 28, 2025 am 12:34 AM

トップ5の日付操作JSプラグイン

10 jqueryプラグインをチェックする価値があります 10 jqueryプラグインをチェックする価値があります Mar 01, 2025 am 01:29 AM

10 jqueryプラグインをチェックする価値があります

10 jQuery Accordionsタブ 10 jQuery Accordionsタブ Mar 01, 2025 am 01:34 AM

10 jQuery Accordionsタブ

jQueryはscrollbarをdivに追加します jQueryはscrollbarをdivに追加します Mar 01, 2025 am 01:30 AM

jQueryはscrollbarをdivに追加します

10 Ajax/jQueryオートコンプリートチュートリアル/プラグイン 10 Ajax/jQueryオートコンプリートチュートリアル/プラグイン Feb 28, 2025 am 01:03 AM

10 Ajax/jQueryオートコンプリートチュートリアル/プラグイン

See all articles