js常見面試程序題彙總

1.數組去重或者字符串去重
分析:數組去重,給定一個空數組,去遍歷原數組,空數組裏面沒有的都加到空數組裏面,有的就返回。下面是數組去重:
同理:字符串去重,將其轉化爲數組,按數組方法就可以去重了,最後在轉化爲字符串即可。
var arr=[1,2,3,1,2,3,4,5,5,6,7,7];


     function f2(num){
     //常規操作
     var array=[];
     for(var i=0;i<num.length;i++)
     {
     if(array.indexOf(num[i])==-1)
     {
     array.push(num[i]);
     }
     }
     console.log(array);
     }
     f2(arr);
  1. xiaoshuo-ss-sfff-fe 轉化爲駝峯規則
    分析:主要應用到字符串操作函數的相關方法。將其以“-"轉化爲數組,然後應用下面方法即可。
    split("間隔符") --------把字符串轉換成爲數組
    charAt(n) --------返回指定位置的字符 n第一個位置爲0
    toUpperCase() --------轉換成大寫
    slice(start,end) --------包頭不包尾 截取指字位置字符串
    substring(起始位置索引值,[結束位置索引值]) --------包頭不包尾,索引位置符號
    substr(start,length) --------截取字符串長度 start開始截取位置,length表示截取長度
var str="xiaoshuo-ss-sfff-fe";
     function f1(s){
     var st=str.split("-");
     var arr=st.map(function (val,index){
     return val.charAt(0).toUpperCase()+val.slice(1,val.length);
     }).join("");
     console.log(arr.split(" "));
     }
     f1(str);
  1. 二維數組轉化一維數組
    分析:這裏用到數據類型的判定,有兩種方法typeOf、instanceOf
    判定數組是否是數組 num instanceOf Array 是數組返回true 用到遞歸函數
    var arr=[1,[2,4],[1,4],[2,5],3,[2,6,7],0];
    var a=[];
    function f5(num){
        if(!num instanceof Array){
            return;
        }
        for(var i=0;i<num.length;i++){
            if(num[i] instanceof Array){
                f5(num[i]);
            }
            else{
                a.push(num[i]);
            }
        }
    }
    f5(arr);
    console.log(a);

    4.12345678 轉化爲rmb 格式
    分析 簡單點 就是調用tolocateString();
    常規就是,首先將數字轉換爲字符串,在分別截取整數部分和小數部分,整數部分倒敘 然後三個一組和,拼接。

var n = 1000000000000000000.11;
price=parseFloat(price);
price=price.toLocaleString();
console.log(price);
}

5.1-100的素數

function sushu(num) {
for (var i = 2; i <= num; i++) {
//當前的數 是不是素數
var isactive = false;
for (var k = 2; k < i; k++) {
if (i % k == 0) {
//不是素數
isactive = true;
}
}
//輸出素數
if (!isactive) {
console.log(i);
}
}
}
sushu(100);

6.針對地圖的一個遍歷注意事項

var map = [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
];
var result = [];
function createMap(element) {
//遍歷map或forEach
map.map(function (hvalue, hindex) {
//這裏遍歷出行
var hang = document.createElement("div");
hang.classList.add("hang");
result.push([]);
hvalue.map(function (cvalue, cindex) {
//產生每行的4個列
var colume = document.createElement("div");
colume.classList.add("colume");
hang.appendChild(colume);
result[hindex].push(colume);
});
element.appendChild(hang);
});
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章