在JavaScript中的“ if”语句中省略操作

问题描述 投票:0回答:1

为了了解它,我正在弄弄带有一些字符串和对象的Rxjs,这很麻烦。

我正在尝试使用字符串变量在一个空的声明对象中动态创建键/值。

在这种方法中,我要执行以下操作:迭代整个字符串,包括空格和逗号。

如果对象中已经有字母,则增加其值,否则,将其添加。

所以我想出了以下代码:

https://stackblitz.com/edit/rxjs-js-letttesr-cool-commas-not-cool?file=index.js

javascript rxjs
1个回答
1
投票
import { ReplaySubject, from } from "rxjs";
import { tap, reduce } from "rxjs/operators";

// string
const str =  "I am afraid I can not do that, Dave";
//string no spaces
let strNoSpace = str.replace(/\s+/g, ''); 

from(strNoSpace).pipe(
  reduce((acc, value) => {
    if(acc[value] !== undefined) {
      acc[value] = acc[value] + 1;
    } else {
      acc[value] = 1;
    }
    return acc;
  }, {}),
).subscribe(console.log);

stackblitz

© www.soinside.com 2019 - 2024. All rights reserved.