0

次のような単語のリストがあります。

ventana - window
puerta - door
silla - chair

ここで、これを 2 つの配列に分割する必要があります。

var words = ['ventana','puerta','silla'];
var defs = ['window','door','chair'];

改行で文字列を分割し、新しい配列を取得して「 - 」ごとに分割できると思います。しかし、これを行う方法が正確にはわかりません。誰かが私を助けることができますか?ありがとう。

4

4 に答える 4

1

明らかなアルゴリズムは、文字列を改行で分割し、各行を繰り返し、区切り文字で再度分割します。

ただし、より最適化されたバージョンは次のようになります (入力値が適切にフォーマットされていると仮定します)。

 var dic = str.split(/[\n\-]/);
 var pos = 0;
 for (var i = 0; i < dic.length; i++) {
     words[pos] = dic[i];
     dic[pos] = defs[++i];
 }

1 回のループ、1 回の "split" 呼び出し、再帰や関数呼び出しの乱用はありません。

注:私はコードを試していません。これは単なる概念です。それにもかかわらず、質問には、これまでに試したことを提供する必要があります

于 2013-10-18T07:33:40.527 に答える