変数が 2 つあり、で表されるポイントに文字列b
を挿入する必要があります。求めている結果は「リンゴが欲しい」です。これを JavaScript で実現するにはどうすればよいでしょうか?a
position
var a = 'I want apple';
var b = ' an';
var position = 6;
ベストアンサー1
var a = "I want apple";
var b = " an";
var position = 6;
var output = [a.slice(0, position), b, a.slice(position)].join('');
console.log(output);
オプション: Stringのプロトタイプメソッドとして
以下は、オプションのパラメータを使用して、text
別の文字列を目的の位置で接合するために使用できます。index
removeCount
if (String.prototype.splice === undefined) {
/**
* Splices text within a string.
* @param {int} offset The position to insert the text at (before)
* @param {string} text The text to insert
* @param {int} [removeCount=0] An optional number of characters to overwrite
* @returns {string} A modified string containing the spliced text.
*/
String.prototype.splice = function(offset, text, removeCount=0) {
let calculatedOffset = offset < 0 ? this.length + offset : offset;
return this.substring(0, calculatedOffset) +
text + this.substring(calculatedOffset + removeCount);
};
}
let originalText = "I want apple";
// Positive offset
console.log(originalText.splice(6, " an"));
// Negative index
console.log(originalText.splice(-5, "an "));
// Chaining
console.log(originalText.splice(6, " an").splice(2, "need", 4).splice(0, "You", 1));
.as-console-wrapper { top: 0; max-height: 100% !important; }