0

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

3 个回答
1

已采纳

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

1

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

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

撰写答案

推广链接