задача отфильтровать все символы в строке, которых нет в chars

Код AS3:
//задротство
var chars:String = "abc";
var str:String = "acdbag";
var resultStr:String = "";
var startSlice:uint = 0;
m: for (var i:uint = 0; i < str.length; i++ ) {
var char:String = str.charAt(i);
for (var j:uint = 0; j < chars.length; j++ ) {
var goodChar:String = chars.charAt(j);
if (char === goodChar) {
continue m;
}
}
if (i - startSlice > 0) {
resultStr += str.slice(startSlice, i);
}
startSlice = i + 1;
}
resultStr += str.slice(startSlice);
trace(resultStr); // acba
VS

Код AS3:
//функциональное задротство
var chars:String = "abc";
var str:String = "acdbag";
var resultStr:String = str.split("").filter(function(char:String, ...args):Boolean {
return chars.split("").some(function(goodChar:String, ...args):Boolean {
return char === goodChar;
});
}).join("");
trace(resultStr); // acba
VS

Код AS3:
var str:String = "acdbag";
trace(str.replace(/[^abc]/g, "")); // acba