peterS.: Anfangsbuchstaben Wörter per RegEx - reduce/reduceRight aka fold

Beitrag lesen

gruss klml,

ich will aus einem Satz eine Abkürzung anhand der jeweiligen
Anfangsbuchstaben machen. ...
...
Aus "Anfangsbuchstaben Wörter per RegEx" würde dann "AWpR".

mit einer Schleife klappt das Prima

var autolemma = ""; // to define as string

dentlinewords = dentline.split(' ');
for (i=0 ; i<dentlinewords.length ; i++) {
  autolemma =  autolemma + dentlinewords[i][0] ;
}


>   
> Aber ist das elegant?  
  
ja, denn es ist lesbar und auf alle faelle schneller als `[RegExp]`{:.language-javascript}-konfu.  
  
mit JavaScript 1.8 wurde von mozilla.org u.a. `[link:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/Reduce@title=[reduce\]]`{:.language-javascript} eingefuehrt.  
mit ECMAScript 5 wird es dann auch in anderen browsern implementiert  
sein bzw. steht dort schon zur verfuegung (z.b. im aktuellen chrome).  
  
Dein bsp. koennte dann auch so aussehen (copy+paste in die [jconsole](http://jconsole.com/)):  
  
~~~javascript
var copy = "Anfangsbuchstaben  Wörter  per RegEx";  
var wordList = copy.split(/\s+/);  
var autolemma = wordList.shift();  
  
autolemma = wordList.reduce((function (previous, current) {  
  return (previous + current.charAt(0));  
}), autolemma.charAt(0));

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]