javascript - 有没有办法以更优雅、更优化的方式编写这一小段代码? (ES6)

标签 javascript optimization ecmascript-6

一段时间以来,我一直在尝试自学 ES6。这是我学到的东西的一个小例子,比如 let、const 和 => 函数。有没有更优雅或更短的方式来写这个?也许用 forEach 替换 for 循环?欢迎任何提示和帮助。

'use strict';
const countChar = (string, ch) => {
    let counted = 0;
    for (let i = 0; i < string.length; i++) {
        if (string.charAt(i) === ch) {
            counted += 1;
        }
    }
    return counted;
};

const countBs = string => countChar(string, 'B');

console.log(countBs('BBC'));
console.log(countChar('kakkerlak', 'k'));

最佳答案

这是另一种缩短它的方法

'use strict';
const countChar = (string, ch) => string.split(ch).length - 1;
const countBs = string => countChar(string, 'B');

console.log(countBs('BBC'));
console.log(countChar('kakkerlak', 'k'));

关于javascript - 有没有办法以更优雅、更优化的方式编写这一小段代码? (ES6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638816/

相关文章:

javascript - Highcharts - 在不丢失默认选项的情况下添加额外的导出选项

javascript - 从数组中的 JSON 对象中查找最大值并将其合并

java - 基于矩形的点搜索优化

javascript - React - 当输入更改时如何防止重新渲染所有输入字段

javascript - 在 React 中列出目录

包含两个对象的 Javascript xhr 帖子正文

delphi - 优化 Delphi 中的类大小。有类似 "packed classes"的东西吗?

javascript - 为什么这个 promise 链会立即解决?

javascript - 如何在javascript中更改另一个模块的变量值

javascript - 反序列化可能的子项,它们可能具有需要反序列化的属性