자바스크립트 implode (문자열 합치기)과 http_build_query > javascript
javascript

자바스크립트 implode (문자열 합치기)과 http_build_query

조회 75회 댓글 0건

특정 문자로 구분자를 줘서 문자열로 만들어주는 함수인데요

PHP의 implode에 해당하는 기능입니다.

배열의 경우는 간단하게 join 메소드를 사용하면 되는데요. 객체는 안되기 때문에 만들어진것입니다.



  let aa = {
    'bb1' : 345,
    'cc'  : 23,
    'ee'  : 'abc'
  }

  let bb = ['name','2',33,5,'age'];

 
  /**
   * 문자열 구분자로 합치기
   *
   * @param string gubun
   * @param object obj
   *
   * @return [type]
   *
   */
  function implode( gubun, obj ) {
    let out   = [];
    let val   = '';
    for( let key in obj) {
      val   = obj[key];
      out.push(val);
    }

    return out.join(gubun);
  }
 

  /**
   * URL 쿼리스트링 생성
   *
   * @param mixed obj
   *
   * @return [type]
   *
   */
  function http_build_query2( obj ) {
    let out = [];
    let val;
    for( let key in obj) {
      val = obj[key];
      out.push(key+'='+val);
    }
    return out.join('&');
  }

  console.log('결과: ', implode(',', bb) );
  console.log('http_build_query2: ', http_build_query2(aa) );
 


f08f4a3d7c3248096854e2720bc04fa9_1673643087_2968.png
 

아래쪽은 같은 원리로 URL 쿼리 스트링을 만들어주는 예제 입니다.



  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 91건 1 페이지
  • profile_image chat GPT API를 통해서 물어본것에 대한 테스트 인데요.잘 되네요.별도의 모듈설치 없이 그냥 실행 되었습니다. 제가 전에 다른것 하면서 설치 되었는지는 확인 안해 봤습니다.  // zlib 모듈을 불러온다.  const zlib = require('zlib');  const fs = require('fs');  // 압축할 문자열  const str = '압축할 문자열';  // gzip으로 압축한다.  zlib.gzip(str, (er…
  • profile_image 파일저장이나 또는 가져올때등 상대경로로 호출 하는 경우도 있지만때론 전체 경로를 알아야 되는 경우가 있습니다.그럴때 현재 디렉토리 기준으로 처리하면 좋은때 이럴때 사용 합니다.  // 현재 디렉토리   const _DIR_   = process.cwd();  php의 __DIR__ 과 같은 역활 입니다.확인 결과 위 예제는 잘 되는 것입니다. 현재 V16 버전에서 문제 없었습니다.버전 업그레이드가 심해서 안되는것 들이 종종 입니다.요즘 언어들 …
  • profile_image 현재 nodejs 실행중인 유저를 알아내기 위한 것입니다.같은 프로그램을 쉘에서 실행하기도 하고 웹서버를 통해서 실행하기도 합니다.그런 경우 파일을 쓰게 되면 문제가 발생합니다.  import os from "os";  let osUser  = os.userInfo().username;  if ( osUser  == 'root' ) {    console.log('루트 유저: ', osUser);  }  else {    console.log(…
  • profile_image 아작스로 서버에 전송하는 기능까지 테스트 된것입니다.jQuery 버전에 따라서 ajax 전송하는 방식이 약간 다른 부분이 있으니 버전 참고하세요.본인이 현재 사용하는것과 여기 샘플의 버전이 비슷하면 문제가 되지 않을듯 싶습니다.<!DOCTYPE html><html lang="ko"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible…
  • profile_image 백엔드의 PDF-LIB에서 폰트를 지정하지 않으면 오류가 발생 합니다.영문은 문제 되지 않지만 한글의 경우 오류를 만나게 됩니다.그렇기 때문에 커스텀 폰드를 지정해야 하는데 스탠다드폰트가 아닌 별도 폰트를 사용할 때 필요한 부분입니다.Error: WinAnsi cannot encode "한" 이러한 오류를 만나게 된다면 한글을 사용할 수 없는 폰트이기 때문입니다.    // https://pdf-lib.js.org/#examples  impor…
  • profile_image 파일명에서 파일의 확장자만 필요한 경우 사용합니다.자바스크립트 이긴 하지만 nodejs에서 사용해도 동일합니다.블라우저의 자바스크립트에서 사용하는 함수를 백엔드의 노드에서 사용해도 문제 없습니다.  /**   * 파일 확장자   *   * @param string file   *   * @return [type]   *   */  function file_ext( file ) {    let fileExt  = file.split(".").po…