>웹 프론트엔드 >JS 튜토리얼 >Node.js는 두 배열의 교차점을 취함 | 차이 집합 | 중복 제거 예제 code_javascript 기술

Node.js는 두 배열의 교차점을 취함 | 차이 집합 | 중복 제거 예제 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:26:301583검색
复代码 代码如下:

/**
* 각각은 함수를 매개변수와 선택적 매개변수의 집합으로 받아들이는 집합 반복 함수입니다.
* 이 반복 함수는 함수를 이용하여 집합의 각 요소와 선택적 매개변수를 순차적으로 계산하고, 결과 집합을 계산합니다. 반환된 값은
{%example
<script> <br>var a = [1,2,3,4].each(function(x){return x > 2 ? x : null })입니다. <br>var b = [1,2,3,4].each(function(x){return x alert(a) <br>alert (b) ; <br></script>
%}
* @param {Function} fn 반복 결정을 위한 함수
* @param more ... 0개 이상의 선택적 사용자 정의 매개변수
* @returns {Array} 결과 집합, 결과가 없으면 빈 집합 반환
*/
Array.prototype. 각각 = 함수(fn){
fn = fn || 함수.K;
var a = [];
var args = Array.prototype.slice.call(인수, 1);
for(var i = 0; i < this.length; i ){
var res = fn.apply(this,[this[i],i].concat(args));
if(res != null) a.push(res);
}
return a;
};

/**
* 배열에서 반복되지 않는 요소의 컬렉션 가져오기

* 고유한 배열
* @returns {Array} 반복되지 않는 요소로 구성된 배열
*/
Array.prototype.uniquelize = function(){
var ra = new Array();
for(var i = 0; i < this.length; i ){
if(!ra.contains(this[i])){
ra.push(this[i]);
}
}
return ra;
};

/**
* 두 집합의 보수 구하기
{%example
<script> <br>var a = [1,2,3,4] <br>var b = [3,4 , 5,6]; <br>alert(Array.complement(a,b)); <br></script>
%}
* @param {Array} 세트 A
* @ param {Array} b 세트 B
* @returns {Array} 두 세트의 보수
*/
Array.complement = function(a, b){
return Array.minus(Array.union(a, b),Array.intersect(a) , b));
};

/**
* 두 집합의 교집합 찾기
{%example
<script> <br>var a = [1,2,3,4] <br>var b = [3,4, 5,6]; <br>alert(Array.intersect(a,b)); <br></script>
%}
* @param {Array} 세트 A
* @ param {Array} b 세트 B
* @returns {Array} 두 세트의 교집합
*/
Array.intersect = function(a, b){
return a.uniquelize().each(function(o){return b.contains( o) ? o : null});
};

/**
* 두 세트의 차이점 찾기
{%example
<script> <br>var a = [1,2,3,4] <br>var b = [3,4 , 5,6]; <br>alert(Array.minus(a,b)); <br></script>
%}
* @param {Array} 세트 A
* @ param {Array} b 세트 B
* @returns {Array} 두 세트의 차이
*/
Array.minus = function(a, b){
return a.uniquelize().each(function(o){return b.contains( o) ? null : o});
};

/**
* 두 집합의 합집합 찾기
{%example
<script> <br>var a = [1,2,3,4] <br>var b = [3,4 , 5,6]; <br>alert(Array.union(a,b)); <br></script>
%}
* @param {Array} 세트 A
* @ param {Array} b 세트 B
* @returns {Array} 두 세트의 합집합
*/
Array.union = function(a, b){
return a.concat(b).uniquelize();
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.