为了了解它,我正在弄弄带有一些字符串和对象的Rxjs,这很麻烦。
我正在尝试使用字符串变量在一个空的声明对象中动态创建键/值。
在这种方法中,我要执行以下操作:迭代整个字符串,包括空格和逗号。
如果对象中已经有字母,则增加其值,否则,将其添加。
所以我想出了以下代码:
https://stackblitz.com/edit/rxjs-js-letttesr-cool-commas-not-cool?file=index.js
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);