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 );