JS手寫面試題 --- 字串拼接
阿新 • • 發佈:2021-06-21
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}))
你可以看到我優化的還是不理想!後面我再改改!