首先,我们获取对象的属性值有两种方式:
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:
效果如图:
图2:
个人觉得第一种方法比较繁琐不如接下来的第二个方法比较简单粗暴:
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);
效果图:
实现的效果如图: