0

クリーンアップしようとしているデータがいくつかあります。問題のフィールドについて、考えられる値はわかっていますが、値は連結された文字列に格納されており、それらを配列に入れる必要があります。これが私がやりたいことです:

var valid_values = ['Foo', 'Bar', 'Baz'];
var raw_data = ['BarFoo','BazBar','FooBaz'];
desired_result = [['Bar','Foo'],['Baz','Bar'],['Foo','Baz']];

これが何と呼ばれているのかわからないので、これが重複していないことを願っています。

4

2 に答える 2

0

各データ値を反復処理して、許可された文字列をindexOfまたはcontainsで検索し、成功した一致を配列として返すことができます。

jsFiddleでの私のバージョンのコードと実際の例を次に示します。

var out = raw_data.map(function (raw) {
    return valid_values.filter(function (value) {
        return raw.contains(value);
    });
});

//out === [['Bar','Foo'],['Baz','Bar'],['Foo','Baz']];

出力の一致順序は重要ではないと想定しました。

于 2013-04-14T02:47:36.167 に答える