2016-11-22 5 views
0

私は自分の値として置いた頭字語を意味する頭字語の関数を書く必要があります。私はループを使用することはできませんが、私はmap、reduce、filterを使うことができ、joinとsplitもできます。私は配列の頭字語を得ることができましたが、それは私がやるべきことではありません。これは頭​​字語を取得するための値を試しているときに機能します - 頭字語(私は知っていますか?)これは "ikr"に変わります。javacript上のループのない頭字語

私にコードを与える必要はありません。私はこのコードを動作させるためのループではないものが何であるかを知りたい。

+0

ヒントにしていないようです'.join()'、OR '.split()'、 '.reduce()'です。 – nnnnnn

+0

しかし 'map' **は**内部のループです。 –

+0

regexpsの使用は許可されていますか?単語は常にスペースで区切られていますか? –

答えて

1
function acronymn(str) { 
    return str.split(/\b(?=[a-z])/ig) // split on word boundaries 
     .map(token => token[0])   // get first letter of each token 
     .join('').toLowerCase()   // convert to lowercase string 
    ; 
} 

acronymn('I know, right?') === 'ikr' // true 
+0

注: '/ \ b(?= [a-z])/ ig'は' 'わかっていますよね? ''のようなテキストで動作します。 –

+0

@JaromandaXありがとう、 – Paulpro

3

別の方法: `.split()` `その後、.MAP()のいずれかを使用します。

function acronym(str) { 
    return str.toLowerCase().match(/(\b[a-z])/g).join('') 
} 

ものの、.matchは許可されているメソッドのリスト

関連する問題