我有一个包含"..."的字符串在不同的地方. 和一个字符串数组,该字符串数组具有与"..."相同的字数.

我想要替换所有出现的"..."使用字符串数组中的单词.

let stringToReplace = "I want an ... that I get from the ..."
let stringArray = ["apple","shop"]

result = "I want an apple that I get from the shop"

我试过这个:

let result = stringToReplace;
for (let i = 0; i < stringArray.length; i++) {
   let inloc = stringArray[i];
   result = result.replace("...", inloc);
}

但这只会改变"……"的第一次出现.

推荐答案

let s = "I want an ... that I get from the ..."
let r = ["apple","shop"]

console.log(s.split('...').flatMap((e,i)=>[e,r[i]]).join(''));

Javascript相关问答推荐

有Angular 的material .未应用收件箱中的价值变化

*ngFor和@代表输入decorator 和选角闭合

具有相同参数的JS类

仅圆角的甜甜圈图表

Vega中的模运算符

窗口.getComputedStyle()在MutationObserver中不起作用

基于变量切换隐藏文本

在观察框架中搜索CSV数据

如何从Intl.DateTimeFormat中仅获取时区名称?

JSDoc创建并从另一个文件导入类型

PDF工具包阿拉伯字体的反转数字

这个值总是返回未定义的-Reaction

将核心模块导入另一个组件模块时存在多个主题

基于props 类型的不同props ,根据来自接口的值扩展类型

Jest toHaveBeenNthCalledWith返回当前设置的变量值,而不是调用时的值

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

有没有办法通过使用不同数组中的值进行排序

MongoDB通过数字或字符串过滤列表

Chart.js Hover线条在鼠标离开时不会消失

JavaScript structuredClone在Chrome/Edge中获得了非法调用,但在NodeJS中没有