将对象转为字符串
字符串,数组和对象三者之间的转换是js中比较重要的,首先介绍;将对象转为字符串,例如;需要将对象
let phone = {
name: "小米10",
color: '红色',
size: '1000*200*500',
price: '2999'
}
转为"name=小米10&color=红色&size=1000*200*500&price=2999"的字符串。
方法1:
1.获取对象的属性名;使用 for in 循环,phone[key]=>获得属性名key的属性值
for (let key in phone) {
console.log(key + '--' + phone[key]);
}
2.获得属性名对应数组;使用Object.values(指定的对象),该方法可以获取指定对象的所有的value,返回值是一个数组。定义一个空数组,通过arr.forEach()得到索引为属性名+属性值的数组,中间通过.join拼接。
let arr1 = []
Object.keys(phone).forEach(key => {
arr1.push([key, phone[key]].join('='))
})
console.log(arr1);
3.再次通过join拼接arr1,得到字符串str1
let str1 = arr1.join('&')
console.log(str1);
方法2:
1.获取对象的属性名;使用 for in 循环,phone[key]=>获得属性名key的属性值
for (let key in phone) {
console.log(key + '--' + phone[key]);
}
2.获得属性名对应数组;使用Object.values(指定的对象),在通过map创建数组解构,最后两次拼接得到字符串。
let str2 = Object.keys(phone).map(key => [key, phone[key]].join('=')).join('&')
console.log(str2);