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

jacklove
リリース: 2018-05-21 15:05:05
オリジナル
1535 人が閲覧しました

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

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

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 = &#39;&#39;;    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(&#39;.&#39;);
}var ip = getRandIP()console.log(ip)
ログイン後にコピー

正しい色は #000000~ #ffffff です

function getColor () {    var dict = &#39;0123456789abcdef&#39;
    var color = &#39;#&#39;;    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] === &#39;number&#39;) {  //验证是否为数字
            if(arr[i]>0) {
                newArr[k] = arr[i];
                k++;
            }
        }
    }    return newArr;
}var arr = [3, -1,  2,  &#39;饥人谷&#39;, true]var newArr = filterPositive(arr)console.log(newArr) //[3, 2]console.log(arr) //[3, -1,  2,  &#39;饥人谷&#39;, 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 &#39;距离&#39;+date+&#39;: &#39;+day+&#39; 天 &#39;+hour+&#39; 小时 &#39;+min+&#39; 分钟 &#39;+s+&#39; 秒 &#39;+ms+&#39; 毫秒 &#39;}
getChIntv(&#39;2017-04-08&#39;)  //距离2017-04-08: 55 天 4 小时 0 分钟 45 秒 774 毫秒;
ログイン後にコピー

hh を入力します- mm-dd 形式のデジタル日付を中国の日付に変更します
//示例var str = getChsDate(&#39;2015-01-08&#39;);console.log(str);  // 二零一五年一月八日
var dict ={0:&#39;零&#39;,1:&#39;一&#39;,2:&#39;二&#39;,3:&#39;三&#39;,4:&#39;四&#39;,5:&#39;五&#39;,6:&#39;六&#39;,7:&#39;七&#39;,8:&#39;八&#39;,9:&#39;九&#39;,            10:&#39;十&#39;,11:&#39;十一&#39;,12:&#39;十二&#39;,13:&#39;十三&#39;,14:&#39;十四&#39;,15:&#39;十五&#39;,16:&#39;十六&#39;,            17:&#39;十七&#39;,18:&#39;十八&#39;,19:&#39;十九&#39;,20:&#39;二十&#39;,21:&#39;二十一&#39;,22:&#39;二十二&#39;,23:&#39;二十三&#39;,            24:&#39;二十四&#39;,25:&#39;二十五&#39;,26:&#39;二十六&#39;,27:&#39;二十七&#39;,28:&#39;二十八&#39;,29:&#39;二十九&#39;,30:&#39;三十&#39;,31:&#39;三十一&#39;} function getCHT (date) {
    time = date.split(&#39;-&#39;);
    year = time[0].split(&#39;&#39;);    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(&#39;&#39;)+&#39; 年 &#39;+month+&#39; 月 &#39;+day+&#39; 日&#39;}
getCHT(&#39;2017-06-01&#39;) // 二零一七年六月一日;
ログイン後にコピー

関数を作成します。パラメータは文字列です時間オブジェクトのミリ秒の形式であり、戻り値は文字列です。パラメーターが時間オブジェクト ミリ秒 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( &#39;1484286699422&#39; ) //  1分钟前var str2 = friendlyDate(&#39;1483941245793&#39;) //4天前
function friendlyDate(time){    var nowT = Date.now();  //Date.now()获取当前时间距离1970年1月1日00:00:00的毫秒数
    pastT = nowT-time;    if (pastT<=60*1000) {        return &#39;刚刚&#39;
    }if (pastT>60000 && pastT<3600*1000) {        return Math.floor(pastT/60000)+&#39;分钟前&#39;
    }if (pastT>=3600*1000 && pastT<24*3600*1000) {        return Math.floor(pastT/(3600*1000))+&#39;小时前&#39;
    }if (pastT>=24*3600*1000 && pastT<30*24*3600*1000) {        return Math.floor(pastT/(24*3600*1000))+&#39;天前&#39;
    }if (pastT>=30*24*3600*1000 && pastT<12*30*24*3600*1000) {        return Math.floor(pastT/(30*24*3600*1000))+&#39;月前&#39;
    }else {        return Math.floor(pastT/(360*24*3600*1000))+&#39;年前&#39;
    }
}
friendlyDate(1496246400000) //一天前;
ログイン後にコピー
この記事では、数学、配列、日付に関連する内容と例を詳しく説明します。その他の関連コンテンツにも注目してください。

関連する推奨事項:

HTML5/CSS3 関連知識の説明

DOM での Javascript 操作によく使用される API のまとめ

JavaScript タイマーと DOM ドキュメントの完全なまとめ

以上が数学、配列、日付の関連例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!