0

ディレクトリ内のファイル名を再帰的に取得し、配列に格納するための nodeJS サーバー用の JavaScript コードを作成しています。そこから、ファイル名とディレクトリの場所に基づいて、上記のデータに基づいてオブジェクトを作成し、新しい配列に格納します。

ファイル名がどのように見えるかの例を次に示します。

var files = [
  'foo001/foo001.jpg',
  'foo001/foo001_blue10_sat22.jpg',
  'bar030/bar030.jpg',
  'bar030/bar030_red31_dpq40_grey10.jpg',
  'baz201/baz201.jpg',
  'baz201/baz201_yellow45.jpg'
];

新しい配列は次のようになります。

var fileObjects = [
  {key: 'foo001/foo001.jpg'},
  {key: 'foo001/foo001_blue10_sat22.jpg', blue: 10, sat: 22},
  {key: 'bar030/bar030.jpg'},
  {key: 'bar030/bar030_red31_dpq40_grey10.jpg', red: 31, dpq: 40, grey: 10},
  {key: 'baz201/baz201.jpg'},
  {key: 'baz201/baz201_yellow45.jpg', yellow: 45}
];

この問題にアプローチする最善の方法は何ですか? これは厳密に正規表現の問題ですか? または、これを処理するのに役立つ、推奨できる特定の JS ライブラリはありますか?

4

1 に答える 1

0

ファイル名に一貫性がある場合は、正規表現を使用するだけで十分です。

私のアプローチは次のとおりです。

  • array.map()コールバックで使用

  • コールバックはstring.indexOf()「キー」値を見つけるために使用する必要があります

  • コールバックはstring.split()ファイル名 (「キー」なし) に区切り文字「_」を付け、分割された部分を解析してプロパティとそれぞれの値を抽出する必要があります

于 2013-09-03T00:21:05.260 に答える