js-对象转为字符串

首先,我们获取对象的属性值有两种方式:

1:对象名.属性名='xxx',  2:对象名['xxx']='xxx',

主要有以上的两种方式,如图:

注意:当我们如果使用第二种的方式去获取属性值的时候[]这个符号里面一定要加单引号或者双引号

浏览器控制台返回的结果如图:



接下里我们就正式开始我们今天所要实现的对象转为字符串

首先我们要假设一个对象:

//定义一个手机对象 let phone = { name:"小米10",color:'红色',size:'1000*200*500',price:'2999'}

//转成下面的字符串      "name=小米10&color=红色&size=1000*200*500&price=2999"

在这里补充几点:

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

        例:for(let key in phone)                           

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

对象转为字符串,我这边介绍两种方法,可以看一下哪一种方法适合自己的:

第一种方法:首先我们根据这组对象   let phone = { name:"小米10",color:'红色',size:'1000*200*500',price:'2999'}    先设置一个一个空的数组  let   arr = []  这一组空数组然后我们在根据for in 循环循环出对象的每一个属性名,然后再通过 arr.push()

let  arr =[] ; for(let key in phone ){arr.push(key+'='+phone[key])};let str = arr.join('&');console.log(str);

图1:

注意:这里的key是phone这个对象里面的属性名;而phone(key)这就是phone里面的属性名的属性值

效果如图:

图2:

这个里面的红色的数组,则是图1里的console.log(arr)的效果图



个人觉得第一种方法比较繁琐不如接下来的第二个方法比较简单粗暴:

let arr1 = []

//Object.keys(phone)可以把对象的每一个属性名也就是key,返回的值是数组 ,然后可以直接在通过forEach()方法就可以了

        Object.keys(phone).forEach(key=>{

            arr1.push([key,phone[key]].join('='))

        })

        console.log(arr1);

        let str1 = arr1.join('&')

        console.log(str1);

效果图:

实现的效果如图:


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

推荐阅读更多精彩内容