字符串和对象相互转换

字符串和对象相互转换

对象转为字符串

//定义一个手机对象

    let phone = {

        name: "小米10",

        color: '红色',

        size: '1000*200*500',

        price: '2999'

    }

转成下面的字符串

"name=小米10&color=红色&size=1000*200*500&price=2999"

 for in 循环,可以循环出对象里面的所有的key,(key就是属性名)

 在ES6中新增了获取对象所有key的方法 -> ECMAScript2015 其实就是最新版本的javascript标准

 Object.keys(指定的对象),该方法可以获取指定对象的所有key,返回值是一个数组

 Object.values(指定的对象),该方法可以获取指定对象的所有的value,返回值是一个数组

 方法一

    let arr = []

    for(let key in phone){

       console.log(key);  

       arr.push(key+'='+phone[key]);

    }

    let str = arr.join('&')

    console.log(str);


方法二

    let keys = Object.keys(phone)

    let arr2 = keys.map(function(k){

        return k+'='+phone[k]

    })

    let str2 = arr2.join('&')

    console.log(str2);

方法三

    let str3 = Object.keys(phone).map(k=>[k,phone[k]].join('=')).join('&')

    console.log(str3);

    </script>

字符串转为对象

//定义一个字符串

        let str = "name=小米10&color=红色&size=1000*200*500&price=2999"

        //转成一个对象

        /*let phone = {

            name: "小米10",

            color: '红色',

            size: '1000*200*500',

            price: '2999'

        }*/

// 定义一个空对象

        let obj  = {}

        str.split('&').forEach(item=>{

            let arr = item.split('=')

            obj[arr[0]] = arr[1]

        })

        console.log(obj);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容