Javascript:给定一个变量数组,函数将删除字符并输出另一个数组
所以我还在学习Javascript,所以我知道这是一个基本的问题,我真的很想知道我遗漏了什么。我有一个变量数组,我需要一个函数来删除特殊字符,并将结果作为数组返回 这是我的密码:Javascript:给定一个变量数组,函数将删除字符并输出另一个数组,javascript,regex,Javascript,Regex,所以我还在学习Javascript,所以我知道这是一个基本的问题,我真的很想知道我遗漏了什么。我有一个变量数组,我需要一个函数来删除特殊字符,并将结果作为数组返回 这是我的密码: var myArray = [what_hap, desc_injury]; function ds (string) { string.replace(/[\\]/g, ' ') string.replace(/[\"]/g, ' ') string.replace(/[\/]
var myArray = [what_hap, desc_injury];
function ds (string) {
string.replace(/[\\]/g, ' ')
string.replace(/[\"]/g, ' ')
string.replace(/[\/]/g, '-')
string.replace(/[\b]/g, ' ')
string.replace(/[\f]/g, ' ')
string.replace(/[\n]/g, ',')
string.replace(/[\r]/g, ' ')
string.replace(/[\t]/g, ' ');
return string;
}
ds (myArray);
我知道这行不通,所以我只是想学习最简单、最干净的输出方式:
[whatHap: TEXTw/oSpecialCharacters, descInj: TEXTw/oSpecialCharacters]
有人愿意引导一个noobie吗?谢谢!:) 关于这个问题的评论是正确的,你需要更详细地说明你在问什么,但我会尝试从我对你预期结果的假设中给你一些指导 需要注意的一点是,
string.replace()
不会更改字符串本身,它会返回一个包含替换项的新字符串,如图中所示。要进行多次替换,您需要执行string=string.replace('a','-')
关于整个阵列的解决方案。有几种方法可以处理javascript中的数组:,或。我敦促您阅读每一篇文章的文档,并自己查找示例,以了解每一篇文章及其最有用的地方
由于要替换数组中的所有内容,我建议使用.map()
或者.foreach()
,因为它们将为您循环遍历整个数组,而无需您自己跟踪索引。下面是使用每种方法实现我认为您要实现的目标的示例
地图
弗雷奇
每个函数的内部变量可以是您需要的任何替换项,也可以用您已有的函数替换它们<代码>映射在这种情况下更强大,因为它将替换数组中的值,用于将现有值映射为每个元素的新对应值。另一方面,forEach
解决方案要求您创建元素并将其添加到一个新数组中,当您需要对数组中的每个元素执行数组本身之外的操作时,这会更好
注:如果您想要更复杂的替换,但在这种情况下并不真正需要它们,那么您应该查看有关构建正则表达式的帮助。我意识到我编写目标的方式并不完全清楚。我想我应该说的是,给定几个文本字符串,我想去掉一些特定的字符(例如引号),然后将它们输出到一个可以访问的数组中。我读过关于数组的书,这是我学习JS的经验,阅读代码和实际执行代码是两件截然不同的事情 所以我很欣赏对文档的引用,我真正需要看到的是一个真实的示例代码 我最终找到了一个有效的解决方案:
function escapeData(data) {
return data
.replace(/\r/g, "");
}
var result = {};
result.what_hap_escaped = escapeData($what_hap);
result.desc_injury_escaped = escapeData($desc_injury);
result;
我感谢大家的时间,希望我的问题结构不合理,不会让你们太恼火:)大家好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。请提供一个输入/输出对示例。在没有相关输入的情况下发布所需的输出没有多大帮助。此外,请详细说明“特殊角色”的含义。如果您的意思是“在js中具有特殊转义序列的字符”,我不明白为什么会包含“/”,但却缺少例如“\0”。我的其他猜测由于其他原因而失败,我无法重建你的意思。谢谢你花时间写这篇文章。非常有用,特别是在字符串操作方面。我读过forEach,但我不知道如何在这里实现它。非常感谢。
function removeSpecial(myArray) {
let withoutSpecial = [];
myArray.forEach(function(str) {
str = str.replace(/[\\"\b\f\r\t]/g, ' ');
// replace / with -
str = str.replace(/\//g, '-');
// replace \n with ,
str = str.replace(/\n/g, ',');
withoutSpecial.push(str)
});
return withoutSpecial;
}
let myArray = ["string\\other", "test/path"];
let withoutSpecial = removeSpecial(myArray); // ["string other", "test-path"]
function escapeData(data) {
return data
.replace(/\r/g, "");
}
var result = {};
result.what_hap_escaped = escapeData($what_hap);
result.desc_injury_escaped = escapeData($desc_injury);
result;