? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將對象轉(zhuǎn)為字符串
字符串械姻,數(shù)組和對象三者之間的轉(zhuǎn)換是js中比較重要的妒蛇,首先介紹;將對象轉(zhuǎn)為字符串楷拳,例如绣夺;需要將對象???
let phone = {
? ? ? ? ? ? name: "小米10",
? ? ? ? ? ? color: '紅色',
? ? ? ? ? ? size: '1000*200*500',
? ? ? ? ? ? price: '2999'
? ? ? ? }
轉(zhuǎn)為"name=小米10&color=紅色&size=1000*200*500&price=2999"的字符串。
方法1:
1.獲取對象的屬性名唯竹;使用 for in 循環(huán)乐导,phone[key]=>獲得屬性名key的屬性值
for (let key in phone) {
? ? ? ? ? ? console.log(key + '--' + phone[key]);
? ? ? ? }
2.獲得屬性名對應數(shù)組苦丁;使用Object.values(指定的對象)浸颓,該方法可以獲取指定對象的所有的value,返回值是一個數(shù)組旺拉。定義一個空數(shù)組产上,通過arr.forEach()得到索引為屬性名+屬性值的數(shù)組,中間通過.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 循環(huán)沉桌,phone[key]=>獲得屬性名key的屬性值
for (let key in phone) {
? ? ? ? ? ? console.log(key + '--' + phone[key]);
? ? ? ? }
2.獲得屬性名對應數(shù)組谢鹊;使用Object.values(指定的對象),在通過map創(chuàng)建數(shù)組解構留凭,最后兩次拼接得到字符串佃扼。
let str2 = Object.keys(phone).map(key => [key, phone[key]].join('=')).join('&')
?console.log(str2);