【发布时间】:2021-10-18 00:35:37
【问题描述】:
现在我正在学习减少 Javascript。在下面的代码中,我不明白 acc[key] 因为我们可以使用 acc["key"] 或 acc.key 访问对象的属性。这就是我学到的。
但显然下面的代码可以正常工作..为什么?
const arr = ['Cat', 'Dog', 'Bird', 'Cat']
const result = arr.reduce((acc, key) => {
if (key in acc) {
acc[key]++
} else {
acc[key] = 1
}
return acc
}, {})
console.log(result)
// { Cat: 2, Dog: 1, Bird: 1 }
【问题讨论】:
-
key是一个字符串变量,所以如果它的值为"Cat",acc[key]相当于写acc["Cat"]或acc.Cat。 -
我明白了!非常感谢!!
标签: javascript object reduce