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}))
    

你可以看到我优化的还是不理想!后面我再改改!

posted @ 2021-06-21 19:58  lvhanghmm  阅读(64)  评论(0)    收藏  举报