ajax – serialize & serializeArray() & Object.entries

[ 쿼리스트링 serialize() ] 
해당 frm 폼 안의 요소들을 key=value 타입 쿼리스트링으로 직렬화함
let params = $(“#frm”).serialize();
console.log(params)
Console.log 출력 ——————————————–  hdDate=20220930&hdGb=BU&hdRound=1&hdProId=pluginn&tbTitle=&tbComment=&sbRecmtStd=%ED%95%B5%EC%8B%AC%20%EC%B6%95%EB%A7%88&sbNo=1
[ 배열타입 serializeArray() ] 
해당 frm 폼 안의 요소들을 배열로 직렬화  key=value 는 객체로 {“name” :”키값” , “value”:”입력값”}변환
let params = $(“#frm”).serializeArray();
console.log(params)
Console.log 출력 ——————————————– : 배열(Json)
[{“name”:”hdDate”,”value”:”20220930″},{“name”:”hdGb”,”value”:”BU”},{“name”:”hdRound”,”value”:”1″},{“name”:”hdProId”,”value”:”pluginn”},{“name”:”tbTitle”,”value”:””},{“name”:”tbComment”,”value”:””},{“name”:”sbNo”,”value”:”1″}] 
[Object.entries]
// 단순 객체인 경우 요소를 [key,value] 타입으로 배열화함 키값은 객체의 key 값 그대로 사용
let encParam = {“name”:”aaa” , “title”:”제목1″ , “writer”:”작가1″}   
let tmp = Object.entries(encParam).map(  (item) => {
        console.log(item)  
});
Console.log 출력 ——————————————–
객체가 배열로 변환됨
[‘name’, ‘aaa’]
[‘title’, ‘제목1’]
[‘writer’, ‘작가1’]
// 이미 배열인 경우  #1
// 이미 배열인 경우  key 값(index)을 부여하고, 배열의 객체를 요소화함
let encParam = [ {“name”:”aaa” , “title”:”제목1″ , “writer”:”작가1″} ]
let tmp = Object.entries(encParam).map(  (item) => {
        console.log(item)  
});
Console.log 출력 ——————————————–
[ “0” , {name‘aaa’title‘제목1’writer‘작가1’} ]

0
: “0”  → key 항목생성
1: {name‘aaa’title‘제목1’writer‘작가1’변수의 객체가 2번째 요소로 들어감
→ 항목 접근시  item[1].name , item[1].title 1번째 요소로 접근해야한다. 
또는 중첩 Object.entreis 를 활용
// 이미 배열인 경우  #2
// 이미 배열인경우 key 생성하요 key,value를 하나의 배열로이룬다.
let encParam = [
                      {“name”:”aaa” , “title”:”제목1″ , “writer”:”작가1″} ,
                      {“name”:”bbb” , “title”:”제목2″ , “writer”:”작가2″}
]
let tmp = Object.entries(encParam).map(  (item) => {
        console.log(item)  
});

Console.log 출력 ——————————————–
[ “0” , {name‘aaa’title‘제목1’writer‘작가1’} ]
[ “1” , {name‘aaa’title‘제목2’writer‘작가2″} ]

0
: “0”  → key 항목이 자동생성
1: {name‘aaa’title‘제목1’writer‘작가1’변수의 객체가 2번째 요소로 들어감

0: “1”  key 항목이 자동생성
1: {name‘bbb’title‘제목2’writer‘작가2’} 변수의 객체가 2번째 요소로 들어감

→항목 접근시  item[1].name , item[1].title 1번째 요소로 접근해야한다.  item[0] = 0  , item[0] = 1

 

# 기본 item , index , array 접근
let tmp = Object.entries(encParam).map(  ( item, idx, arr) => {
        console.log(item)  // [ 0  , { “name”:”aaa” , “title”:”제목1″ , “writer”:”작성자1″} ]
console.log(idx)  // 0
});

Console.log 출력 ——————————————–

item : [ 0  , { “name”:”aaa” , “title”:”제목1″ , “writer”:”작성자1″} ]
idx : 0
item : [ 1  , { “name”:”bbb” , “title”:”제목2″ , “writer”:”작성자2″} ]
idx : 1

# key , value 타입으로 접근하기 // 대괄호 [ ] 를 활용 key , value 로 접근
let tmp = Object.entries(encParam).map(  ( [ key , value ]) => {  /

        console.log(key)
console.log(value)
});
Console.log 출력 ——————————————–
Key : 0
value :  { “name”:”aaa” , “title”:”제목1″ , “writer”:”작성자1″}

Key : 1
value :  { “name”:”aaa” , “title”:”제목2″ , “writer”:”작성자2″}

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다