在特定值之后插入数组中的元素,并且仅当此值符合条件时 || 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'
]
有两个问题向我开放:
- 我关于字母迭代的方法'p'是错误的
- 元素添加在 table 的开头,而不是字母 'o' 之后。
我一直在寻找,但找不到正确的方法。
有谁知道灵魂是什么?
提前谢谢你
更简单:
const codeLetter = "p";
const specialLetter = "o";
const transform = input => input.split(specialLetter).join(specialLetter+codeLetter)
console.log(transform("Hello World"));
我在网站上可以咨询的许多其他请求中寻找解决方案,但它与我想做的事情并不完全对应,或者语言不同。
这是我的问题: 如果条件有效,我想在数组中添加一个特定值。
例如:
如果输入字符串(例如“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'
]
有两个问题向我开放:
- 我关于字母迭代的方法'p'是错误的
- 元素添加在 table 的开头,而不是字母 'o' 之后。
我一直在寻找,但找不到正确的方法。
有谁知道灵魂是什么? 提前谢谢你
更简单:
const codeLetter = "p";
const specialLetter = "o";
const transform = input => input.split(specialLetter).join(specialLetter+codeLetter)
console.log(transform("Hello World"));