gpt4 book ai didi

javascript - 如何改进元音计数器功能以提高效率?

转载 作者:行者123 更新时间:2023-11-30 14:00:12 24 4
gpt4 key购买 nike

此代码有效,但我想知道是否有可能收到一些关于如何使此功能运行得更快的建议。

我使用了正则表达式和 match 方法,因为它们对我来说似乎很简单。

const vowelCount = str => {
let vowels = /[aeiou]/gi;
let result = str.match(vowels);
let count = result.length;

console.log(count);
};

该函数将显示字符串中元音的数量。

最佳答案

一个简单的 for 循环或 foreach 稍微快一些,但它太小了,以至于你移到这里并没有真正看到太多好处。

但是这里有一些更快的选项。

您的代码(定时):~0.185 毫秒

const vowelCount = str => {
let vowels = /[aeiou]/gi;
let result = str.match(vowels);
return result.length;
};

var t0 = performance.now();
vowelCount("aSdDDDdasDD");
var t1 = performance.now();
console.log("Call took: " + (t1 - t0) + " MS");


For-Loop(定时):~.070 ms

const vowelCount = str => {
var vowels = 'aeiouAEIOU';
var count = 0;
for(var x = 0; x < str.length ; x++) {
if (vowels.indexOf(str[x]) !== -1){
count += 1;
}
}
return count;
};

var t3 = performance.now();
vowelCount("aSdDDDdasDD");
var t4 = performance.now();

console.log("Call took: " + (t4 - t3) + " MS");


For-Each(定时):~.074 毫秒

const vowelCount = str => {
var vowels = 'aeiouAEIOU';
var count = 0;
Array.from(str).forEach((c) => {
if(vowels.indexOf(c)) {
count++;
}
});
return count;
};

var t3 = performance.now();
vowelCount("aSdDDDdasDD");
var t4 = performance.now();

console.log("Call took: " + (t4 - t3) + " MS");

关于javascript - 如何改进元音计数器功能以提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56433971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com