数组转对象
const arr = [{label: '男', value: 0},{label: '女', value: 1}]
function f(arr) {
// 写代码
// reduce
}
const obj = f(arr) // obj ===> {0: '男', 1:'女'}
- 实现代码
const arr = [
{ label: '男', value: 0 },
{ label: '女', value: 1 }
]
function f(arr) {
// 1. 先创建一个对象,因为要的结果是一个对象类型的
const obj = {}
// 2.遍历数组里的数据 因为对象里需要的值的数组里的数据
arr.forEach(item => {
// 3. obj[] 是给obj这个对象添加数据 item就是当前的对象 因为需要获取对象里的值 在之前用的是中括号[] 在这里我也用的是中括号
// [] 和 . 的区别,[]可以访问变量,但是 . 不可以,所以这里必须用[]。不然的话相当于给对象添加了一个item的属性只能获取到字符串,并不能获取item里的值
obj[item['value']] = item['label']
})
return obj
}
const obj = f(arr)
console.log(obj) // 输出 obj ===> {0: '男', 1:'女'}
对象转数组
const obj = { 0: '男', 1:'女'}
function f(obj) {
// 写代码
}
const arr = f(obj) // arr ===> [{label: '男', value: 0},{label: '女', value: 1}]
- 实现效果
const obj = { 0: '男', 1: '女' }
function f(obj) {
// 1. 先创建一个数组
const arr = []
// 2. for in 遍历对象
for (const key in obj) {
// console.log(key, obj[key])
// 3.插入数据 key是属性名 obj[key] 是值
// 都获取到了直接 调用数组的方法.push()插入数据即可
arr.push({lable: obj[key],value: key})
}
return arr
}
const arr = f(obj)
console.log(arr)// 输出arr === [{label: '男', value: 0},{label: '女', value: 1}]