>  기사  >  웹 프론트엔드  >  수학, 배열, 날짜 관련 예제

수학, 배열, 날짜 관련 예제

jacklove
jacklove원래의
2018-05-21 15:05:051538검색

수학, 배열, 날짜는 학습 중에 자주 접하게 되는데, 이 글에서는 이에 대해 설명하겠습니다.

min은 포함하지만 max는 제외하여 min부터 max까지 임의의 정수를 반환하는 함수 작성

function getRandom (min,max) {    return Math.floor(Math.random()*(max-min) + min)
}//Math.floor 返回小于参数值的最大整数//Math.random 返回[0,1)之间的随机数

max를 포함하여 min부터 max까지 임의의 정수를 반환하는 함수 작성

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 주소를 생성하는 함수를 작성하세요. 합법적인 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() ;

배열 방식에서 push, pop, Shift, unshift, Join 및 splice 기능이 무엇인가요? push, pop, Shift 및 unshift 메소드를 각각 구현하려면 splice 함수를 사용하십시오. push() 메소드는 tail의 요소를 배열에 삽입하고 원래 배열의 길이와 인덱스를 변경할 수 있습니다.

var a = [ ] ;

a.push(4) ;

a ; // [4]


pop() 메서드는 원래 배열 길이와 인덱스를 변경하여 배열의 마지막 요소를 삭제하고 반환할 수 있습니다. [1,2] ;

a.pop() ; // 2a ; // [1]

shift() 메서드는 배열의 첫 번째 요소를 삭제하고 첫 번째 요소의 값을 반환하여 길이를 변경할 수 있습니다. 및 원본 배열의 인덱스

var a= [1,2,3,4];

a.shift() //1;a; //[2,3,4]

unshift() 메소드는 배열의 시작 부분에 하나 이상의 요소를 추가하고 원래 배열 길이와 인덱스를 변경하여 새 길이를 반환합니다.

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비트 삭제 a; //[2,3 ]

var a=[1,2,3];

a.splice(0,0,7,8) //[ ]; 위치 0부터 시작하여 위치 0을 삭제하고 7,8을 삽입합니다(앞부터 삽입) ;a //[7,8,1,2,3];

var a=[1,2,3,4] ;
a.splice(1,1,7,8); //[2] ;1번째 위치([2])를 삭제하고 ​​a; ,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) // Shift() 구현; 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 毫秒;

Put 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분 전(t가 더 큽니다.) 현재 시간으로부터 1분 이상, 1시간 이내)

8시간 전(t는 현재 시간으로부터 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.