1. 程式人生 > 其它 >JS手寫面試題 --- 字串拼接

JS手寫面試題 --- 字串拼接

JS手寫面試題 --- 字串拼接

    function toString(map) {
        return Object.keys(map).map((item, index) => {
            return (item = `${item}=${map[item]}`);
        })
        .join("&");
    }

    // 原來的函式中可以傳入任意型別的值
    // 可能某些傳入的值顯示不出來!
    // 這明顯不夠嚴謹!
    // 你可以發現字串是從他們的索引開始拼接的!
    console.log(toString('123')); // 0=1&1=2&2=3

    // 物件是按照鍵值對進行新增的!物件中的函式也是如此!
    console.log(toString({ a: 1, b: 2, })); // a=1&b=2

    // 我們可以對傳入的引數進行型別判斷,只能傳入字串和物件的!

    function toString(map) {
        if ((typeof map) === "string" || (typeof map) === 'object') {
            return Object.keys(map).map((item, index) => {
                return (item = `${item}=${map[item]}`);
            })
                .join("&");
        }
    }

    console.log(toString({_a: 2, _b: 3}))
    

你可以看到我優化的還是不理想!後面我再改改!