JavaScript:遍历遇指定字符串时终止,返回前序拼接结果的需求
解决方案:遇到指定关键词时停止处理并返回前序结果
直接给你改好的代码,核心是在遍历过程中检测Technical关键词,一旦碰到就立刻停止处理,同时处理了字符串分割后的空格问题,避免判断出错:
function f() { var string1 = "Cyan | Magenta | Yellow | Cut | Information | Pink | Lila | White"; var string2 = "Color | Color | Color | Technical | Technical | Color | Color | Color"; // 分割后先trim每个元素,消除前后空格 var string1split = string1.split("|").map(item => item.trim()); var string2split = string2.split("|").map(item => item.trim()); var resultParts = []; for (var i = 0; i < string1split.length; i++) { // 先检查当前string2的项是否是Technical,是就终止循环 if (string2split[i] === "Technical") { break; } // 拼接对应的颜色和类型,保留空格分隔 resultParts.push(`${string1split[i]} ${string2split[i]}`); } // 用指定分隔符连接结果 return resultParts.join(" | "); } console.log(f()); // 输出:Cyan Color | Magenta Color | Yellow Color
关键改动说明:
- 处理空格问题:原字符串分割后每个元素带前后空格,用
map(item => item.trim())统一清理,确保后续关键词判断准确 - 终止逻辑:在循环里直接判断当前
string2split[i]是否为Technical,一旦匹配就break跳出循环,不再处理后续项 - 简化拼接逻辑:直接用数组存储每一组结果,最后统一用
join连接,比原来的字符串拼接更清晰高效
内容的提问来源于stack exchange,提问作者Heike
相关产品推荐
相关产品推荐

