【js】js基礎練習問題一


1、関数を作成し、配列の重量を減らす
function deduplication(arr){
     
    var s = [];
    for(var i=0;i<=arr.length-1;i++){
     
        if(s.indexOf(arr[i]) == -1){
     
            s.push(arr[i])
        }
    }
    return s
}

var arr = [1,2,3,4,5,2,3,6,23,6,3,6,2,5]
var l = deduplication(arr)
console.log(l)
2、(システム方法を使用してはいけないことが要求されます.)関数を作成し、配列の重量を減らすことができます.
function deduplication(arr){
     
    var s = [];
    for(var i=0;i<=arr.length-1;i++){
     
        var flag = false;
        var temp = arr[i];
        for(var j=0; j<=s.length-1;j++){
     
            if(temp == s[j]){
     
                flag = true;
                break;
            }
        }
        if(flag==false){
     
            s.push(arr[i]);
        }
    }
    return s
}
var arr = [1,2,3,4,5,2,3,6,23,6,3,6,2,5]
var l = deduplication(arr)
console.log(l)
3、一つの関数を作成して、一つの数が素数(素数)であるかどうかを判断する.
function is_sushu(num){
     
    var flag = true;
    for(var i=2;i<num;i++){
     
        if(num%i==0){
     
            flag = false;
            return false;
        }
    }
    if (flag == true){
     
        return true;
    }
    
}

var num = 7;
var flag = is_sushu(num);
console.log(flag);
4、1つの関数を作成し、2つの1次元配列の補完を実現する(前提条件:arr 2はarr 1のサブセット)
function complement(arr1, arr2){
     
    var res = [];
    for(i in arr1){
     
        if(arr2.indexOf(arr1[i])==-1){
     
            res.push(arr1[i]);
        }
    }
    return res
}

var arr1 = [2, 3,5,1,7,9];
var arr2 = [2,5,1];
var arr = complement(arr1, arr2); 
console.log(arr);