gpt4 book ai didi

javascript - 基于 JavaScript 中的 ascii 代码从字符串中删除字符

转载 作者:行者123 更新时间:2023-12-01 15:55:35 28 4
gpt4 key购买 nike

如果我有一个给定的字符串,使用 JavaScript,是否可以根据 ASCII 代码从中删除某些字符并返回剩余的字符串,例如从字符串中删除所有 ASCII 代码 < 22 的字符?

最佳答案

事实证明有很多不同的解决方案,这里有一个简短的概述(从最快到最慢排序)

一个简单的for循环

let finalString = "";
for(let i = 0; i < myString.length; i++ ) {
if(myString.charCodeAt(i) < 22) continue;
finalString += myString.charAt(i);
}

速度(用于以下基准测试):82,600 ops/s ±1.81%

对字符串进行拆分过滤后的for循环

const newStringArray =  myString.split("").filter(e => e.charCodeAt(0) > 22)

let finalString = ""
for(let i = 0; i < newStringArray.length; i++ ) {
finalString += newStringArray[i]
}

速度(用于以下基准测试):55,199 ops/s ±0.53%
慢 33.17%

一个带有 .join

的衬垫
const newString = myString.split("").filter(e => e.charCodeAt(0) >= 22).join("");

速度(用于以下基准测试):18,745 ops/s ±0.28%
慢 77.31%

一个带有 .reduce

的衬里
const newString =  myString.split("")
.filter(e => e.charCodeAt(0) > 22)
.reduce( (acc, current) => acc += current, "");

速度(用于以下基准测试):17,781 ops/s ±0.23%
慢 78.47%

基准测试

可以在此处找到基准:https://jsbench.me/50k8zwue1p
https://jsbench.me/50k8zwue1p

关于javascript - 基于 JavaScript 中的 ascii 代码从字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207729/

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