有关js的三目运算符,请问pre[item]?的意思是什么?

`const str = 'jshdjsihh';

 const obj = str.split('').reduce((pre,item) => {
     pre[item] ? pre[item] ++ : pre[item] = 1
     return pre
 },{})

console.log(obj) // {j: 2, s: 2, h: 3, d: 1, i: 1}`
在学习reduce的时候看到的一段代码,
pre[item] ? pre[item] ++ : pre[item] = 1
请问上面这句中pre[item]?是什么意思?看了好久没看懂

阅读 326
评论
    3 个回答
    • 这段代码做的事情是统计字符串中各个字母出现的次数
    • 存储统计次数是一个对象,key是字母,value是出现的次数
    • 三目运算,判断对象中有没有这个key,有的话,次数+1,即:pre[item]++;没有初始化为1