Показать сообщение отдельно
  #11 (permalink)  
Старый 15.10.2018, 23:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

<textarea id="area"></textarea><br>
<button id="btn">сортировать</button>
	<script>
	var dic = ['a','b','c','d','e','f','g','h','i','j','k','l'];
	var ots = (s, el)=> !dic.includes(el) ? ++s : s;
	var sum = (s, el)=>{
	 	var ind = dic.indexOf(el);
	 	return ind != -1 ? s + ind : s;
	 };
btn.onclick = e => {
	var arr = area.value
	.split(/\n/)
	.sort((a,b)=>(a.split('').reduce(ots,0) - b.split('').reduce(ots,0) ) || (b.split('').reduce(sum,0) - a.split('').reduce(sum,0)));
	area.value = arr.join('\n');
};

	</script>
</body>
</html>


над производительностью не заморачивался.
Ответить с цитированием