首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串数组中的关键字替换为之前的元素,直到特定的元素

将字符串数组中的关键字替换为之前的元素,直到特定的元素
EN

Stack Overflow用户
提问于 2020-10-29 06:18:55
回答 1查看 34关注 0票数 1

我有一个包含以下元素的字符串数组:

代码语言:javascript
运行
复制
2+2
3+3

sum

# Example comment
5+5

3+2

sum

# Random word
10-5
sum

我想在用+分隔之前用元素替换每个单词sum,但直到最近的一条评论(例如,# Example comment)。因此,对于上面的数组,输出应该是:

代码语言:javascript
运行
复制
2+2
3+3

2+2+3+3

# Example comment
5+5

3+2

5+5+3+2

# Random word
10-5
10-5

注意,第一个“块”没有注释,因为它在数组的开头,但它仍然正常工作。要达到这样的结果,最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 06:27:37

您可以使用一个for-loop完成此操作,同时使用数组保存项目,直到到达注释(在这种情况下,我们将清空它并继续):

代码语言:javascript
运行
复制
const arr = [
  "2+2",
  "3+3",

  "sum",

  "# Example comment",

  "5+5",
  "3+2",

  "sum",

  "# Random word",

  "10-5",
  
  "sum"
];

let items = [];

for(let i = 0; i < arr.length; i++){
  const item = arr[i];
  if(item === "sum") arr[i] = items.join("+");
  else if(item.startsWith("#")) items = [];
  else items.push(item);
}

console.log(arr);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64582121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档