2014-04-26 3 views
2

어떻게하면 더 효율적으로 만들 수 있습니다, 얼마나 많은 매개 변수를 당신이 필요할지 모르겠 방법을 상상해보십시오.JavaScript로 매개 변수로 배열

예를 들어 간단한 아약스 삽입을 위해

,하지만 당신은 얼마나 많은 입력을 모르는 당신처럼 될 것입니다 예를 들어 4 보낼 필요가 있으므로 다음 HTML ... 을 가지고이 하나

function insert_these(data1, data2, data3, data4){ 
    $.post('test.php', { dat1: data1, dat2: data2, dat3: data3, dat4: data4); 
}; 

그러나 4 개 이상의 입력을 원한다면? 이것은 variadic function라고

inputs = new array(); 

function insert_these(inputs){ 

    //then the rest of code 

    $.post( 'test.php', for (var i = 0; i < inputs.lenght; i++){ 
    dat+i: inputs+i, };); 

}; 

답변

2

하고 자바 스크립트로 구축 할 쉽게 : 당신이 배열로 매개 변수,이 같은 뭔가 기능을 할 수있는 방법

arguments 의사 배열이 이미 사용할 수있다 당신의 기능.

단순히 배열을 통해 마찬가지로 그것을 반복하여 객체를 구축 :

function insert_these(){ 
    var obj = {}; 
    for (var i=0; i<arguments.length; i++) obj['dat'+(i+1)] = arguments[i]; 
    $.post('test.php', obj); 
} 
+0

가 감사를, 나는 읽을 수 있습니다. – wwwanaya

+0

함수 인수 목록'data1, data2, data3, data4'는 사용되지 않으며 필요하지 않습니다. 함수 정의를'function insert_these() {...}'로 변경할 수 있습니다. –

+0

@MattiasBuelens 맞습니다. 그건 그냥 복사되지 않은 복사 붙여 넣기 일뿐입니다. –

2

당신은 단순히 같은 개체를 사용할 수 있습니다

var params = { 
    data1: 'data1', 
    data2: 'data2' 
} 

insert(params); 

function insert(parameters) { 
    // other stuff here 
    $.post('test.php', parameters); 
    // other stuff here 
} 
관련 문제