БлогNot. Симметрическая разность множеств на Javascript

Симметрическая разность множеств на Javascript

Как и всё на этом языке, выполняется просто и удобно.

См. также: статья в энциклопедии юного сурка, мощность множества на JS, перестановки и комбинации на JS.

Вычисляем симметрическую разность для двух заданных массивов строк просто как ( A \ B ) U ( B \ A ).

Вот код скрипта, который выдаст результат в элемент с id="symdifId", проверил в актуальном Fifefox и IE11:

<div id="symdifId"></div>
<script type="text/javascript">

function relative_complement(A, B) { // в A, но не в B
 return A.filter ( function(elem) { return B.indexOf(elem) == -1; } );
}
 

function symmetric_difference(A,B) { // в A или в B, но не в A и B
 return relative_complement(A,B).concat(relative_complement(B,A));
}

//Определение данных:
var a = ["1", "2", "3", "4", "5"]; 
var b = ["5", "3", "6", "4", "7"]; 
//Обработка:
document.getElementById('symdifId').innerHTML = symmetric_difference (a,b);
</script>
<noscript>
 <div align="center">
  Извините, для работы приложения нужен включённый Javascript
 </div>
</noscript>

06.07.2018, 18:19 [2168 просмотров]


теги: числа javascript

К этой статье пока нет комментариев, Ваш будет первым