今天在做对象和JSON的课后左右时,有一道题想了很久,没有思路,然后看了答案,又查看了相关资料,突然豁然明朗。现在稍微做总结。
题目:
(1)使用for-in循环遍历
(2) 将对象转换为数组
(3) 使用arr.join(‘&‘)进行字符串拼接。
第一步和第三步比较好实现,主要是卡在第二步,将对象转换为数组,如何引用呢?有以下两种方法:
let obj = { name: ‘jirengu‘, age: 5 } let result = traverse(obj) //输出 "name=jirengu&age=5" console.log(result) //在答案区实现这个函数 function traverse(obj) { return Object.keys(obj).map(key => `${key} =${obj[key]}`).join(‘&‘) }
2.使用for-in循环,通过arr.push()分别将key:value添加到数组中。
let obj = { name: ‘jirengu‘, age: 5 } let result = traverse(obj) //输出 "name=jirengu&age=5" console.log(result) //在答案区实现这个函数 function traverse(obj) { let arr =[] for(let key in obj){ arr.push(key+‘=‘+obj[key]) } return arr.join(‘&‘) }
let obj = { name: ‘jirengu‘, age: 5 } console.log(Object.keys(obj))
console.log(Object.values(obj))
2.使用for-in循环构建函数
let obj = { name: ‘jirengu‘, age: 5 } let res1 =objectValue(obj) let res2 =objectKey(obj) function objectValue(obj){ let arr1 =[] for(let key in obj){ arr1.push(obj[key]) } console.log(arr1) } function objectKey(obj){ let arr2 = [] for(let key in obj){ arr2.push(key) } console.log(arr2) }
3.使用Object.entries(obj)返回给定对象可枚举属性键值对数组
let obj = { name: ‘jirengu‘, age: 5 } console.log(Object.entries(obj))
https://blog.csdn.net/weixin_41534645/article/details/80379243
原文:https://www.cnblogs.com/mernva/p/12769920.html