求有缘人解答,在看Vue3文档案例时发现一个数组reduce方法,目的是把以下数组转换为后面的对象:
[ 'name','power' ] ==> { name:1 , power:1 }
我自己的reduce方法:
arr.reduce((o, key) => {
if (!o[key]) {
o[key] = 1
}
return o
}, {})
官方使用的reduce:
arr.reduce((o, key) => ((o[key] = 1), o), {})
(o[key] = 1), o) 是执行o[key] = 1再返回o,可以看下逗号操作符的用法,执行左边执行右边,返回右边
有啥不懂的,只是简写了而已 。
let arr=[ 'name','power' ];
let c=arr.reduce((o, key) => {
return ((o[key] = 1), o)
},{});
// let c=arr.reduce((o, key) => ((o[key] = 1), o), {})
console.log(arr,c)
不懂o[key]?
js里给 对象加 一个 动态的属性 就可以用 [key]