在特定值之后插入数组中的元素,并且仅当此值符合条件时 || Javascript

Insert an element in array after a specific value and only if this value respect a condition || Javascript

我在网站上可以咨询的许多其他请求中寻找解决方案,但它与我想做的事情并不完全对应,或者语言不同。

这是我的问题: 如果条件有效,我想在数组中添加一个特定值。

例如:

如果输入字符串(例如“Hello World”),我希望在字母 'o' 之后插入字母 'p'。然后它会给出函数的输出:“Hello Woprld”。

这是我目前的做法:

function transform(input) {
  const inputArray = input.split('');
  const codeLetter = 'p';

  inputArray.map((inputEl, i) => {
    if (inputEl === 'o') {
      inputArray.splice(inputEl[i+1], 0, codeLetter)
    } else {
      return inputArray;
    }
  });
  return inputArray;
}
console.log(transform("Hello World"));

这是结果输出:

[
  'p', 'p', 'p', 'p', 'p',
  'p', 'p', 'H', 'e', 'l',
  'l', 'o', ' ', 'W', 'o',
  'r', 'l', 'd'
]

有两个问题向我开放:

  1. 我关于字母迭代的方法'p'是错误的
  2. 元素添加在 table 的开头,而不是字母 'o' 之后。

我一直在寻找,但找不到正确的方法。

有谁知道灵魂是什么? 提前谢谢你

更简单:

const codeLetter = "p";
const specialLetter = "o";
const transform = input => input.split(specialLetter).join(specialLetter+codeLetter)

console.log(transform("Hello World"));