patternjavascriptMinor
Edit string to concatenate word numbers in javascript
Viewed 0 times
editjavascriptnumbersconcatenatewordstring
Problem
I would like to replace the string "The quick brown fox jumps over the lazy dog" with the string "The1 quick2 brown3 fox4 jumps5 over6 the7 lazy8 dog9".
Is there an cleaner, more elegant, sexier way?
Is there an cleaner, more elegant, sexier way?
String.prototype.concatWordNumber = function() {
var myArray = this.split(' ');
var myString = "";
for (var i=0, len = myArray.length; i<len; i++)
{
myString += myArray[i]+[i+1]+ " " ;
}
return myString;
}
var text = "The quick brown fox jumps over the lazy dog";
console.log(text.concatWordNumber());Solution
Is there an cleaner, more elegant, sexier way?
I guess regex makes it more elegant and sexier, but your implementation is fine:
Or you could use
I guess regex makes it more elegant and sexier, but your implementation is fine:
String.prototype.concatWordNumber = function() {
var i = 1;
return this.replace(/\b\w+\b/g, function(word) {
return word + i++;
});
};Or you could use
map:String.prototype.concatWordNumber = function() {
var plusIdx = function(x,i) {
return x + ++i;
};
return this.split(' ').map(plusIdx).join(' ');
};Code Snippets
String.prototype.concatWordNumber = function() {
var i = 1;
return this.replace(/\b\w+\b/g, function(word) {
return word + i++;
});
};String.prototype.concatWordNumber = function() {
var plusIdx = function(x,i) {
return x + ++i;
};
return this.split(' ').map(plusIdx).join(' ');
};Context
StackExchange Code Review Q#39699, answer score: 3
Revisions (0)
No revisions yet.