有关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]?是什么意思?看了好久没看懂

阅读 297
评论 2019-11-09 提问
    3 个回答

    pre是累计器,默认设置的是{},pre[item]检查是否有key值是item,有则+1,无则设置该key并赋值为1

      • 3.2k

      参数啊,pre是累计,item是数组元素

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

          登录后参与交流、获取后续更新提醒