<commit_before>var dist = {
	"O....." : "a",
	"O.O..." : "b",
	"OO...." : "c",
	"OO.O.." : "d",
	"O..O.." : "e",
	"OOO..." : "f",
	"OOOO.." : "g",
	"O.OO.." : "h",
	".OO..." : "i",
	".OOO.." : "j",
	"O...O." : "k",
	"O.O.O." : "l",
	"OO..O." : "m",
	"OO.OO." : "n",
	"O..OO." : "o",
	"OOO.O." : "p",
	"OOOOO." : "q",
	"O.OOO." : "r",
	".OO.O." : "s",
	".OOOO." : "t",
	"O...OO" : "u",
	"O.O.OO" : "v",
	".OOO.O" : "w",
	"OO..OO" : "x",
	"OO.OOO" : "y",
	"O..OOO" : "z"
};

function translate(input) {
	return input.split("\n").map(function(value) {
		return value.split(" ");
	}).reduce(function(a, b) {
		for(var i = 0; i < a.length; i++) {
			a[i] += b[i];
		}
		return a;
	}).reduce(function(a, b) {
		return a+dist[b];
	}, "");
}

var test1 = "O. O. O. O. O. .O O. O. O. OO\n\
OO .O O. O. .O OO .O OO O. .O\n\
.. .. O. O. O. .O O. O. O. ..";

var text = ".O O. .O OO O. O. .O OO O. OO O. .O O. .O\n\
O. .O O. .. .. OO OO .. .. .. OO OO .O OO\n\
O. O. O. O. .. O. O. O. OO .. .. .O O. .O";

//console.log(translate(test1));
console.log(translate(text));<commit_msg>replace the last for loop, and add some comments to explain<commit_after>var dist = {
	"O....." : "a",
	"O.O..." : "b",
	"OO...." : "c",
	"OO.O.." : "d",
	"O..O.." : "e",
	"OOO..." : "f",
	"OOOO.." : "g",
	"O.OO.." : "h",
	".OO..." : "i",
	".OOO.." : "j",
	"O...O." : "k",
	"O.O.O." : "l",
	"OO..O." : "m",
	"OO.OO." : "n",
	"O..OO." : "o",
	"OOO.O." : "p",
	"OOOOO." : "q",
	"O.OOO." : "r",
	".OO.O." : "s",
	".OOOO." : "t",
	"O...OO" : "u",
	"O.O.OO" : "v",
	".OOO.O" : "w",
	"OO..OO" : "x",
	"OO.OOO" : "y",
	"O..OOO" : "z"
};

function translate(input) { //e.g. "O. O.\nOO .O\n.. .."
	return input.split("\n") //split each lines ["O. O.","OO .O", ".. .."] 
		.map(function(value) { //split by space for each lines [["O.","O."],["OO",".O"], ["..",".."]] 
			return value.split(" ");
		})
		.reduce(function(a, b) { //concat to code for same char in each element ["O.OO..", "O..O.."]
			return a.map(function(v, idx) {
				return v + b[idx];
			});
		})
		.reduce(function(a, b) { //translate to english and contact to a string "he"
			return a+dist[b];
		}, "");
}

var test1 = "O. O. O. O. O. .O O. O. O. OO\n\
OO .O O. O. .O OO .O OO O. .O\n\
.. .. O. O. O. .O O. O. O. ..";

var text = ".O O. .O OO O. O. .O OO O. OO O. .O O. .O\n\
O. .O O. .. .. OO OO .. .. .. OO OO .O OO\n\
O. O. O. O. .. O. O. O. OO .. .. .O O. .O";

//console.log(translate(test1));
console.log(translate(text));
{'fraction_non_alphanumeric': 0.35923515052888527, 'fraction_numerical': 0.0020341741253051262, 'mean_word_length': 1.687431693989071, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '267393', 'n_tokens_mistral': 1330, 'n_tokens_neox': 1290, 'n_words': 329}