一.由var arr = [{label:’男’,value: 1}, {label:’女’,value: 0}] 得到:
// obj2 = {‘1’: ‘男’, ‘0’: ‘女’}
注意:reduce的第二种形式中,不能直接用return amount[item.value] = item.label 获取的是女,为最后的值,而是需要将reduce的所有值返回
// 第一种方法用遍历
const arr = [{label: '男', value: 0},{label: '女', value: 1}]
function f(arr) {
// 写代码
const obj = {}
arr.forEach((item) => {
obj[item.value] = item.label
})
return obj
}
const obj = f(arr) // obj ===> {0: '男', 1:'女'}
console.log(obj);
// obj ===> {0: '男', 1:'女'}
//第二种方式用reduce
const arr = [{
label: '男',
value: 0
}, {
label: '女',
value: 1
}]
function f(arr) {
// 写代码
return arr.reduce((amount, item) => {
amount[item.value] = item.label
// 不能直接去前面就return 那样就只能获取的是最后一次的值,然后就不在执行了
return amount
}, {})
}
const obj = f(arr) // obj ===> {0: '男', 1:'女'}
console.log(obj);
二.由 var arr = [{label:’男’,value: 1}, {label:’女’,value: 0}] 得到:
// arr2 = [‘男’, ‘女’]
//第一种方式
var arr = [{label:'男',value: 1}, {label:'女',value: 0}]
function f(arr) {
// 写代码,得到
cosnt newArr = []
arr.forEach(item =>{
const label = item.label
newArr.push(label)
}
return newArr
}
var arr2 = f(arr2);
console.log(arr2)
// arr2 = ['男', '女']
// 第二种方式
var arr = [{label:'男',value: 1}, {label:'女',value: 0}]
function f(arr) {
// 写代码,得到
const newArr = arr.map(item => item.label)
return newArr
}
var arr2 = f(arr2);
console.log(arr2)
// arr2 = ['男', '女']
版权声明:本文为weixin_48837605原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。