jQuery / Javascript로 배열을 구현 하시겠습니까?


답변:


546

당신은 일반 JavaScript로 이것을 할 수 있습니다 Array.prototype.join:

arrayName.join(delimiter)

더 나은 jQuery 함수를 모르겠습니다.


4
중재자가이 답변을 받아 들일 수 있습니까? 아니면 어떻게 정상에 올라갈 수 있습니까? 나는 이것을 처음 읽은 대답을 놓쳤다.
PressingOnAlways


28

Array.joinphpjs.org 의 친절한 사람들 implode이 당신을 위해 만들었습니다 .

그런 다음 약간 벗어난 주제 란팅. @jon_darkstar가 이미 지적했듯이 jQuery는 JavaScript이며 그 반대도 아닙니다. 당신은하지 않습니다 필요 하면 재사용 감사 또는 당신이 절대적으로 그것을 배울 필요가 더 큰 그림을보고 시작하는 시작하면 jQuery를 사용하는 방법을 이해 할 수 있도록 자바 스크립트를 알고 있지만, 그것은 확실히 다치게하지 않고.


23
다시, 자바 스크립트는 내가 가장 좋아하는 jQuery 플러그인이다 ;-)
jon_darkstar는


10

join () 메서드를 사용 하면 배열의 모든 요소를 ​​연결하여 새 문자열을 만들고 반환합니다.

작업 예

var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);


1

자바 스크립트에서 implode of of alternative를 만들 수 있습니다 :

function my_implode_js(separator,array){
       var temp = '';
       for(var i=0;i<array.length;i++){
           temp +=  array[i] 
           if(i!=array.length-1){
                temp += separator  ; 
           }
       }//end of the for loop

       return temp;
}//end of the function

var array = new Array("One", "Two", "Three");


var str = my_implode_js('-',array);
alert(str);

12
하지 말아야 할 교과서 사례. 루프에서 문자열 연결을 수행하지 마십시오. 빠른 내장 기능을 자체 느린 코드로 바꾸지 마십시오. Array리터럴 대신 생성자를 사용하는 것은 불필요하게 장황합니다. implode 함수를 다시 만들어야하는 경우에는 내장 된 조인 메소드를 사용자의 함수로 감싸는 것이 현명합니다. 더 똑똑한 것은 프로그래밍하고있는 언어를 배우는 것입니다.
mikerobi

0

array.join";"을 인식하지 못했습니다. 구분 기호를 사용하지만 쉼표로 바꾸는 방법. jQuery를 사용 $.each하여 배열을 내릴 수 있습니다 (output_saved_json은 배열이고 tmp는 내포 된 배열을 저장할 문자열 임).

var tmp = "";
$.each(output_saved_json, function(index,value) {
    tmp = tmp + output_saved_json[index] + ";";
});

output_saved_json = tmp.substring(0,tmp.length - 1); // remove last ";" added

마지막 ";"을 제거하기 위해 부분 문자열을 사용했습니다. 불필요하게 최종에 추가되었습니다. 그러나 원하는 경우 substring다음과 같이 사용할 수 있습니다 .

var tmp = "";
$.each(output_saved_json, function(index,value) {
    tmp = tmp + output_saved_json[index];

    if((index + 1) != output_saved_json.length) {
         tmp = tmp + ";";
    }
});

output_saved_json = tmp;

나는이 마지막 솔루션이 첫 번째 솔루션보다 느리다고 생각합니다 $.each. 끝나지 않을 때마다 인덱스가 배열의 길이와 다른지 확인해야하기 때문 입니다.


';'대신 ','을 받고 있다면 분리 문자를 join 메소드에 전달하는 것을 잊고있었습니다. 시도your_array.join(';')
mikerobi

나는 그 시간에 그것을 시도했지만 IE에서 작동하지 않았습니다 (버전이 정확하지는 않지만 IE6이라고 생각합니다). 그 당시에 그것을 지원해야했습니다 (Enterprise app ...). 최신 브라우저에서는 아마도 당신의 메모가 의미가 있습니다. 이 방법을 사용한 이유를 문의하기 전에 Mike 메모와 downvote에 감사드립니다.
jaysponsored

1
join 매개 변수는 IE 4, 5, 5.5, 6+에서 작동합니다. IE3에서는 일하지 않았지만 JavaScript를 실행하기 위해 사본을 얻을 수 없으므로 테스트 할 수 없습니다.
mikerobi

예, 작동합니다. 그러나 ";"은 아닙니다. 결합하지만 ";"을 대체합니다. 적어도 Server 2003에서는 ","로 표시됩니다.
jaysponsored
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.