JSFiddle - React, Tailwind, and code Playground
JavaScript
var targets = ['a1','a2','b1','b2','c1','c2'];
var oks = ['a','b'];
let r = {};
targets.forEach( target => {
var tmp = oks.filter( s=>target.indexOf(s)!==-1 );
if ( tmp.length == 1) {
r[tmp[0]] || (r[tmp[0]] = []);
r[tmp[0]].push( target );
}else if ( tmp.length == 0) {
r["errors"] || (r["errors"] = []);
r['errors'].push( target );
}
});
console.log( r );