객체 키 도트 표기법을 자바 스크립트에서 객체 트리로 변환하는 방법

제롬 2606

양식이 있고이를 ajax 엔드 포인트로 보내고 싶습니다.이 헬퍼 메소드가 있습니다.

    $.fn.serializeFormToObject = function() {
      //serialize to array
      var data = $(this).serializeArray();
      //add also disabled items
      $(':disabled[name]', this)
        .each(function() {
            data.push({ name: this.name, value: $(this).val() });
        });

      //map to object
      var obj = {};
      data.map(function(x) { obj[x.name] = x.value; });
      return obj;
    };

문제는 내 양식의 일부 이름에 점 표기법이 있다는 것입니다 (MVC 강력한 유형 모델 사용). 따라서이 개체가 있습니다.

Task.Addresses.Box:""
Task.Addresses.City:"Limal"
Task.Addresses.Country:"Belgique"
Task.Deadline:"1/10/2017 12:18:18 PM"
Task.TaskSourceId:"1"

예상되는 결과는 다음과 같습니다.

{ Task : { Addresses: { Box: "", City: "Limal", Country: "Belgique"}, Deadline: "1/10/2017 12:18:18 PM", TaskSourceId:"1" } }

lodash 라이브러리를 사용하지만 몇 시간 후에 예상 된 결과를 수행하는 방법을 찾을 수 없습니다.

누군가가 예상되는 중첩 개체를 제공하기 위해 작동하는 자바 스크립트 도우미를 제공 할 수 있습니까?

편집 : 중복 질문의 경우 다른 질문은 결합 된 중첩 개체에 대해 묻지 않습니다.

@ ori-drori의 답변 후이 코드는 예상대로 작동합니다.

$.fn.serializeFormToObject = function() {
    //serialize to array
    var data = $(this).serializeArray();
    //add also disabled items
    $(':disabled[name]', this)
        .each(function() {
            data.push({ name: this.name, value: $(this).val() });
        });

    //map to object
    var obj = {};
    data.map(function (x) { obj[x.name] = x.value; });

    var objNested = {};
    _.forEach(obj, function (value, key) { _.set(objNested, key, value) });
    return objNested;
};
또는 Drori

를 사용하여 데이터를 반복하고 다음을 사용 Array#forEach하여 경로 (이름)에 값을 할당합니다 _.set().

data.forEach(function(x) { _.set(obj, x.name, x.value) });

원본 데이터가 없으므로 제공 한 키-값을 사용한 데모가 있습니다.

var fields = {
  "Task.Addresses.Box": "",
  "Task.Addresses.City": "Limal",
  "Task.Addresses.Country": "Belgique",
  "Task.Deadline": "1/10/2017 12:18:18 PM",
  "Task.TaskSourceId": "1"
};

var obj = {};

_.forEach(fields, function(value, key) {
  _.set(obj, key, value);
});

console.log(obj);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트에서 키 값 유형으로 중첩 된 객체 배열을 변경하는 방법

분류에서Dev

객체 자바 스크립트 내에서 객체 이름을 얻는 방법

분류에서Dev

자바 스크립트의 객체 값에서 키를 반환하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트 배열을 객체로 변환하는 방법

분류에서Dev

자바 스크립트 배열을 객체로 변환하는 방법

분류에서Dev

자바 스크립트에서 객체 속성 문자열을 정수로 변환하는 방법

분류에서Dev

객체를 문자열 자바 스크립트로 변환하는 방법

분류에서Dev

자바 스크립트에서 배열 객체를 중첩 객체로 변경하는 방법

분류에서Dev

자바 스크립트에서 두 개의 객체를 반환하는 방법

분류에서Dev

자바 스크립트에서 배열을 중첩 된 객체로 변환하는 방법

분류에서Dev

자바 스크립트의 중첩 된 객체에서 키에 액세스하는 방법

분류에서Dev

자바 스크립트의 json 문자열에서 객체 목록에서 키를 얻는 방법

분류에서Dev

자바 스크립트에서 배열과 객체로 작업하는 방법

분류에서Dev

자바 스크립트에서 객체 값을 평탄화하는 방법

분류에서Dev

자바 스크립트에서 JSON 객체 배열을 복사하는 방법

분류에서Dev

자바 스크립트 객체에서 속성을 타겟팅하는 방법

분류에서Dev

자바 스크립트에서 객체 생성을 평가하는 방법

분류에서Dev

객체에서 자바 스크립트 배열을 연결하는 방법

분류에서Dev

자바 스크립트에서 중첩 된 객체로 객체를 병합하는 방법

분류에서Dev

자바 스크립트에서 객체 내의 객체에 액세스하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 객체 배열을 만드는 방법

분류에서Dev

자바 스크립트 객체에서 여러 변수를 반환하는 적절한 방법

분류에서Dev

자바 스크립트에서 배열을 객체로 변환

분류에서Dev

자바 스크립트에서 JSON 객체를 딥 클론하는 방법

분류에서Dev

객체 지향 자바 스크립트에서 JSONP를 사용하는 방법

분류에서Dev

자바 스크립트에 설정된 다른 배열의 키로 배열 객체를 매핑하는 방법

분류에서Dev

자바 스크립트 / JQuery로 객체를 만드는 방법

분류에서Dev

자바 스크립트에서 키와 값을 사용하여 배열을 객체로 변환

분류에서Dev

자바 스크립트에서 ckeditor iframe 객체를 얻는 방법

Related 관련 기사

  1. 1

    자바 스크립트에서 키 값 유형으로 중첩 된 객체 배열을 변경하는 방법

  2. 2

    객체 자바 스크립트 내에서 객체 이름을 얻는 방법

  3. 3

    자바 스크립트의 객체 값에서 키를 반환하는 방법은 무엇입니까?

  4. 4

    자바 스크립트 배열을 객체로 변환하는 방법

  5. 5

    자바 스크립트 배열을 객체로 변환하는 방법

  6. 6

    자바 스크립트에서 객체 속성 문자열을 정수로 변환하는 방법

  7. 7

    객체를 문자열 자바 스크립트로 변환하는 방법

  8. 8

    자바 스크립트에서 배열 객체를 중첩 객체로 변경하는 방법

  9. 9

    자바 스크립트에서 두 개의 객체를 반환하는 방법

  10. 10

    자바 스크립트에서 배열을 중첩 된 객체로 변환하는 방법

  11. 11

    자바 스크립트의 중첩 된 객체에서 키에 액세스하는 방법

  12. 12

    자바 스크립트의 json 문자열에서 객체 목록에서 키를 얻는 방법

  13. 13

    자바 스크립트에서 배열과 객체로 작업하는 방법

  14. 14

    자바 스크립트에서 객체 값을 평탄화하는 방법

  15. 15

    자바 스크립트에서 JSON 객체 배열을 복사하는 방법

  16. 16

    자바 스크립트 객체에서 속성을 타겟팅하는 방법

  17. 17

    자바 스크립트에서 객체 생성을 평가하는 방법

  18. 18

    객체에서 자바 스크립트 배열을 연결하는 방법

  19. 19

    자바 스크립트에서 중첩 된 객체로 객체를 병합하는 방법

  20. 20

    자바 스크립트에서 객체 내의 객체에 액세스하는 방법은 무엇입니까?

  21. 21

    자바 스크립트에서 객체 배열을 만드는 방법

  22. 22

    자바 스크립트 객체에서 여러 변수를 반환하는 적절한 방법

  23. 23

    자바 스크립트에서 배열을 객체로 변환

  24. 24

    자바 스크립트에서 JSON 객체를 딥 클론하는 방법

  25. 25

    객체 지향 자바 스크립트에서 JSONP를 사용하는 방법

  26. 26

    자바 스크립트에 설정된 다른 배열의 키로 배열 객체를 매핑하는 방법

  27. 27

    자바 스크립트 / JQuery로 객체를 만드는 방법

  28. 28

    자바 스크립트에서 키와 값을 사용하여 배열을 객체로 변환

  29. 29

    자바 스크립트에서 ckeditor iframe 객체를 얻는 방법

뜨겁다태그

보관