週末啦,做幾道面試題放鬆放鬆吧!

題目一:

請將 text 通過 keywords 轉化成爲 result 格式

let text = '我的世界,沒有黑暗只有光明和未來';
let keywords = ['世界', '黑暗', '未來'];
let result = '我的【世界】,沒有【黑暗】只有光明和【未來】'

 

題目二:

請實現一個方法,
當傳入 1,2,3 時,輸出 3,2,1
當傳入 2,4,5,5,6,6 時,輸出 6,5,4,2

題目三:
請實現一個方法,
將 arr1 數據結構轉化爲 arr2 (不足時補0,如最後一個[7 ,0])

let arr1 = [1, 2, 3, 4, 5, 6, 7];
let arr2 = [[1, 2], [3, 4], [5, 6], [7, 0]];

 

 

 

 

不準偷看
不準偷看
不準偷看
不準偷看
不準偷看
不準偷看
不準偷看
不準偷看
不準偷看

 

 

 

題目一答案:

 

let text = '我的世界,沒有黑暗只有光明和未來';
let keywords = ['世界', '黑暗', '未來'];

keywords.forEach(x => {
   let pattern = new RegExp(`(${x})`);
   text = text.replace(pattern, '【$1】');
});

 

題目二答案:

 

function handleNumber () {
   let setobj = new Set([...arguments]);
   let args = Array.from(setobj);
   return args.reverse().join(',');
}

 

題目三答案:

let arr1 = [1, 2, 3, 4, 5, 6, 7];

function calcArr(arr) {
    let a = [];
    let b = [];
    let lastOneIndex = arr.length - 1;
    arr.forEach((x, i) => {
        a.push(x);
        if (i % 2 !== 0 || i === lastOneIndex) {
            if (i === lastOneIndex && a.length === 1) {
                a.push(0)
            }
            b.push(a);
            a = [];
        }
    });
    return b;
}

 

以上只是小玖個人的解題思路,如果你有更好解題方案,請留言分享,謝謝!

 

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