これらはいくつかの配列名です:
var Transport = ['Bus', 'Car', 'Truck', 'Train'];
var Fruits = ['Apple', 'Banana', 'Grape'];
var Animals = ['Dog', 'Cat', 'Horse', 'Sheep'];
そして、私はこのような結果セットを持っています:
var x = [
{'name': 'Bus'},
{'name': 'Banana'},
{'name': 'Car'},
{'name': 'Dog'},
{'name': 'Truck'},
{'name': 'Cat'}
];
今私が欲しいものそれを返すいくつかのロジックどの要素がどのカテゴリにあるか。例はこんな感じ
//what I want:
var newresultTransport = ['Bus', 'Car', 'Truck'];
var newresultAnimal = ['Dog', 'Cat'];
var newresultFruits = ['Banana'];
どんな助けでも感謝されます
グループ、単一の値、および結果にオブジェクトを使用できます。次に、ハッシュテーブルを生成してすべての名前のグループを取得し、それを使用して結果セットにグループを作成し、名前をこのグループにプッシュします。
var groups = { transport: ['Bus', 'Car', 'Truck', 'Train'], fruits: ['Apple', 'Banana', 'Grape'], animals: ['Dog', 'Cat', 'Horse', 'Sheep'] },
array = [{ name: 'Bus' }, { name: 'Banana' }, { name: 'Car' }, { name: 'Dog' }, { name: 'Truck' }, { name: 'Cat' }],
hash = {},
grouped = {};
Object.keys(groups).forEach(function (k) {
groups[k].forEach(function (a) {
hash[a] = k;
});
});
array.forEach(function (o) {
var k = hash[o.name];
grouped[k] = grouped[k] || [];
grouped[k].push(o.name);
});
console.log(grouped);
.as-console-wrapper { max-height: 100% !important; top: 0; }
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加