JS 피리 칼 적 알고리즘 과 다 중 배열 피리 칼 적 실현 방법 예제
js 피리 칼 축적 알고리즘 의 실현 코드 는 대상 이나 배열 에 따라 피리 칼 축적 을 생 성하 고 자바 script 다 중 배열 피리 칼 축적 의 예 와 자바 가 피리 칼 축적 을 실현 하 는 알고리즘 과 인 스 턴 스 코드 를 소개 했다.
1.javascript 피리 칼 적 알고리즘 코드
예 를 들 어 대상 이나 배열 에 따라 피리 칼 적 을 생 성 한다.
//
function descartes(list) {
//parent ;count
var point = {};
var result = [];
var pIndex = null;
var tempCount = 0;
var temp = [];
//
for (var index in list) {
if (typeof list[index] == 'object') {
point[index] = {
'parent': pIndex,
'count': 0
}
pIndex = index;
}
}
//
if (pIndex == null) {
return list;
}
//
while (true) {
for (var index in list) {
tempCount = point[index]['count'];
temp.push(list[index][tempCount]);
}
//
result.push(temp);
temp = [];
//
while (true) {
if (point[index]['count'] + 1 >= list[index].length) {
point[index]['count'] = 0;
pIndex = point[index]['parent'];
if (pIndex == null) {
return result;
}
// parent
index = pIndex;
} else {
point[index]['count']++;
break;
}
}
}
}
호출 방법:
var result = descartes({'aa':['a','b','c','d'],'bb':['$','%','^','&']});
alert(result);//result
2.js 다 중 배열 피리 칼 적 실현예:
<script>
(function() {
dwn = function(a) {
document.writeln(a + "<br />")
};
//
var Cartesian = function(a, b) {
var ret = [];
for (var i = 0; i < a.length; i++) {
for (var j = 0; j < b.length; j++) {
ret.push(ft(a[i], b[j]));
}
}
return ret;
}
var ft = function(a, b) {
if (! (a instanceof Array)) a = [a];
var ret = Array.call(null, a);
ret.push(b);
return ret;
}
//
multiCartesian = function(data) {
var len = data.length;
if (len == 0) return [];
else if (len == 1) return data[0];
else {
var r = data[0];
for (var i = 1; i < len; i++) {
r = Cartesian(r, data[i]);
}
return r;
}
}
})();
var data = [['a', 'b', 'c'], [1, 2, 3, 4], ['A', 'B'], ['#', '@', '+'], ['Mary', 'Terry', 'KYO']];
var r = multiCartesian(data);
for (var i = 0; i < r.length; i++) {
dwn("(" + r[i] + ")");
}
</script>
피리 칼 적 에 대한 이 해 를 강화 하기 위해 자바 피리 칼 적 방법 튜 토리 얼 을 추천 합 니 다.https://www.jb51.net/article/129585.htm참고 하 시기 바 랍 니 다.자 바스 크 립 트 와 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,JavaScript 데이터 구조 와 알고리즘 기술 총화,JavaScript 수학 연산 용법 총화,JavaScript 정렬 알고리즘 요약,JavaScript 스 트 리밍 알고리즘 및 기술 총화과JavaScript 찾기 알고리즘 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.