gpt4 book ai didi

javascript - 重构我的 JavaScript 代码以删除更多的空格

转载 作者:行者123 更新时间:2023-12-05 05:41:00 25 4
gpt4 key购买 nike

以下代码是有效的,但我想重构 !== 部分,它允许我的三元组仅在非空白值上运行,因此我可以包括边缘案例测试。这将包括任何非字母值以及空格,我知道正则表达式可能会起作用,但我找不到将其合并到三元运算之前的 if() 语句中的巧妙方法。

const letterPositions = function(strPos) {
if (typeof strPos !== 'string') {
return console.log('Sorry your input is not a string');
}

const result = {};
for (let i = 0; i < strPos.length; i++) {
if (strPos[i] !== ' ') {
result[strPos[i]] ? result[strPos[i]].push(i) : (result[strPos[i]] = [i]);
}
}

return result;
};

console.log(letterPositions('aa bb cc'));

最佳答案

主要有两个选项,regex和charcode,如果有更多方法欢迎编辑

const codes = ['A', 'Z', 'a', 'z'].map(x => x.charCodeAt(0))
console.log(codes)

const letterPositions = function(strPos) {
if (typeof strPos !== 'string') {
return console.log('Sorry your input is not a string');
}

const result = {};
for (let i = 0; i < strPos.length; i++) {

//if (strPos[i] !== ' ') { // old

//if (/[A-Za-z]/.test(strPos[i])) { // regex

let code = strPos.charCodeAt(i)
if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122)) { // charcode
result[strPos[i]] ? result[strPos[i]].push(i) : (result[strPos[i]] = [i]);
}
}

return result;
};

console.log(letterPositions('aa bb cc'));

关于javascript - 重构我的 JavaScript 代码以删除更多的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72333996/

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