Показать сообщение отдельно
Старый 16.11.2014, 19:09
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 7  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
задача отфильтровать все символы в строке, которых нет в 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