저는 자바 스크립트 내에서 순열에 대한 작업을 해왔습니다. 예를 들어 전화 키패드와 같은 글자에 부식을 일으키는 숫자를 사용할 수 있습니다. 내가하고 싶은 일은 키에 부식성이있는 글자를 가져 와서 배열로 나누고 그 배열을 모든 가능한 순열 또는 조합을 찾기위한 함수로 전달하는 것입니다.여러 배열을 함수에 특정 형식으로 전달하는 방법은 무엇입니까?
내가 지금까지 무엇을 가지고 있는지 보자. 번호와 문자를 배열로 저장했습니다.
var array = [{ key: '2', value: 'a,b,c'},
{ key: '3', value: 'd,e,f'},
{ key: '4', value: 'g,h,i'}]
다음이 배열을 반복하고 키에 부식되는 문자를 가져오고 싶습니다. 문자가 ["a", "b", "c"]
로 분할 날을 제공
for(var thingy of array){
var letters = thingy.value;
var splitArray = letters.split(',')
}
그래서 지금은 이러한 여러 배열을 가지고 모든 조합을 찾습니다 함수에 전달합니다. 이것은 내가이 스레드에서 가지고있는 기능입니다 :이 기능은 배열의 형식 그래서
var allArrays = [['a', 'b'], ['c', 'z'], ['d', 'e', 'f']];
같은 것으로 기대 Finding All Combinations of JavaScript array values
function allPossibleCases(arr) {
if (arr.length === 0) {
return [];
}
else if (arr.length ===1){
return arr[0];
}
else {
var result = [];
var allCasesOfRest = allPossibleCases(arr.slice(1));
for (var c in allCasesOfRest) {
console.log("huh?" + allCasesOfRest);
for (var i = 0; i < arr[0].length; i++) {
result.push(arr[0][i] + allCasesOfRest[c]);
}
}
return result;
}
}
내 질문 난에 내 새로 분할 배열을 통과 어떻게 올바른 형식으로이 기능을 수행 할 수 있습니까? 배열의 반복 루프에서이 작업을 수행해야합니까?
아직 완성되지 않은 코드입니다.
$(function() {
var array = [{ key: '2', value: 'a,b,c'},
{ key: '3', value: 'd,e,f'},
{ key: '4', value: 'g,h,i'}]
array.toString();
console.log(array);
//Iterate over the array and find the value label
for(var thingy of array){
var letters = thingy.value;
//Split the characters up
var splitarray = letters.split(',')
//Output all arrays via function to find permutations
//Hmm should this live here?
console.log(allPossibleCases(splitarray));
}
});
function allPossibleCases(arr) {
if (arr.length === 0) {
return [];
}
else if (arr.length ===1){
return arr[0];
}
else {
var result = [];
var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array
for (var c in allCasesOfRest) {
console.log("huh?" + allCasesOfRest);
for (var i = 0; i < arr[0].length; i++) {
result.push(arr[0][i] + allCasesOfRest[c]);
}
}
return result;
}
}
와 숫자 당신이에서 순열을 얻을해야합니까? 또는 어떤 입력이 더 필요합니까? –
왜 [[ 'a', 'b'], [ 'c', 'z'], [ 'd', 'e', 'f'] '배열에는 세 개의 원소가있는 반면 다른 원소는 두 개입니까? – brk
@brk 이것은 함수가있는 스레드를 기반으로 한 예제입니다. 이것은 함수가 다중 배열을 필요로한다는 것을 보여주는 예제입니다. 나는 여러 배열을 가지고 있지만 함수에 전달해야합니다. – Yanayaya