JS 개발 의 실 용적 인 기술

1. 지정 한 범위 내의 난수 가 져 오기
/*
     min~max       
*/
function getRandomNum(min,max){
    return Math.floor(Math.random()*(max-min+1))+min;
}

2. 배열 의 요 소 를 무 작위 로 가 져 옵 니 다.
/*
                 
*/
function getRandomFromArr(arr){
    return arr[Math.floor(Math.random()*arr.length)];
}

3. 배열 의 순 서 를 흐 트 러 뜨 린 다.
/*
           
*/
function getRandomArr(arr){
    // var resArr = [...arr]; // ES6  

    var resArr = Array.from(arr);
    return resArr.sort(function(){
        return Math.random() - 0.5;
    });
}

4. 대상 을 배열 로 변환 합 니 다 (전제 조건: 이 대상 은 속성 length 를 포함 해 야 합 니 다)
/*
          (  obj          obj.hasOwnProperty('length') true)
*/
function getObjToggleArr1(obj){
    return Array.prototype.slice.call(obj); //    
}
function getObjToggleArr2(obj){
    return [].slice.call(obj); //    
}
function getObjToggleArr3(obj){
    return Array.prototype.apply.call(obj); //    
}


/*
          (  obj         )     
*/
function getObjToggleArr(obj){
    var copyObj = Object.assign({},obj); //       obj(   )
    if(!copyObj.hasOwnProperty('length')){
        copyObj['length']=Object.keys(obj).length;
    }
    return [].slice.call(copyObj); 
}

5. 배열 의 최대 값 과 최소 값 가 져 오기
/*
                 
*/
function maxAndMin(arr){
    return {
       max:Math.max.apply(null,arr.join(',').split(',')),
       min:Math.min.apply(null,arr.join(',').split(','))
    }
}

6. 지정 한 길이 의 무 작위 알파벳 숫자 문자열 생 성
function getRandomStr(len) {
    for (var str = ''; str.length < len; str += Math.random().toString(36).substr(2));
    return str.substr(0, len)
}

7. 배열 에서 가장 많이 나타 난 요 소 를 찾 아 나타 난 위 치 를 제시한다.
function getMaxAndIndex(arr) {
    var obj = {};
    arr.forEach(function(item, index) {
        if (!obj[item]) {
            obj[item] = {
                indexs: [index]
            }
        } else {
            obj[item]['indexs'].push(index);
        }
    });
    var num = 0; //         
    var str = ''; //           
    var reArr; //          
    for (var attr in obj) {
        var temp = obj[attr]['indexs'];
        if (temp.length > num) {
            num = temp.length;
            str = attr;
            reArr = temp;
        }
    }
    return {
        maxStr: str,
        indexs: reArr
    }
}

 
 
 
 

좋은 웹페이지 즐겨찾기