복붙노트

[JQUERY] 하나 개의 어레이에 병합이 JSON / 자바 스크립트 배열

JQUERY

하나 개의 어레이에 병합이 JSON / 자바 스크립트 배열

해결법


  1. 1.당신은 CONCAT 방법을 원한다.

    당신은 CONCAT 방법을 원한다.

    var finalObj = json1.concat(json2);
    

  2. 2.첫 등장시, 단어 "merg"리드 하나는 "병합"에 대해 적절한의 jQuery 방법 인 .extend 사용할 필요가 생각하는 JSON은 객체. 그러나, $ .extend (사실, {}, json1, json2); 같은 키의 이름을 공유하는 모든 값이 PARAMS에서 제공되는 최신 오버라이드 (override) 할 원인이됩니다. 귀하의 질문에 쇼의 검토,이 원치 않는된다.

    첫 등장시, 단어 "merg"리드 하나는 "병합"에 대해 적절한의 jQuery 방법 인 .extend 사용할 필요가 생각하는 JSON은 객체. 그러나, $ .extend (사실, {}, json1, json2); 같은 키의 이름을 공유하는 모든 값이 PARAMS에서 제공되는 최신 오버라이드 (override) 할 원인이됩니다. 귀하의 질문에 쇼의 검토,이 원치 않는된다.

    당신이 추구하는 것은 .concat로 알려진 간단한의 자바 스크립트 기능입니다. 어느처럼 작동합니다 :

    var finalObj = json1.concat(json2);
    

    이 기본 jQuery를 기능은 아니지만, 다음과 같이 쉽게 간단 향후 사용을 위해 jQuery 라이브러리에 추가 할 수 있습니다 :

    ;(function($) {
        if (!$.concat) {
            $.extend({
                concat: function() {
                    return Array.prototype.concat.apply([], arguments);
                }
            });
        }
    })(jQuery);
    

    처럼 원하는대로 그리고 그것을 기억 :

    var finalObj = $.concat(json1, json2);
    

    또한 같은이 유형의 여러 배열 개체를 사용할 수 있습니다 :

    var finalObj = $.concat(json1, json2, json3, json4, json5, ....);
    

    그리고 당신이 정말로 그것을 jQuery를 스타일을 원하고 매우 짧은 경우 단 (일명 축소 된)

    ;(function(a){a.concat||a.extend({concat:function(){return Array.prototype.concat.apply([],arguments);}})})(jQuery);
    

    (함수 ($) {. $ CONCAT || $ .extend ({CONCAT : 함수 () {창 Array.prototype.concat.apply ([], 인자);}})}) (jQuery를); () {(기능 $ VAR의 json1 = [{ID : 1 명, 「XXX '}, json2 = [{ID : 2 명, 「XYZ '}, json3 = [{ID : 3 명, 「XYY '}, json4 = [{ID : 4 명, 「xzy '}, json5 = [{ID : 5 명, 「ZXY '}]; CONSOLE.LOG (어레이 (10) .join ( '-') + '(json1, json2, json3)'+ 어레이 (10) .join ( '-')); CONSOLE.LOG (. $ CONCAT (json1, json2, json3)); CONSOLE.LOG (어레이 (10) .join ( '-') + '(json1, json2, json3, json4, json5)'+ 어레이 (10) .join ( '-')); 을 console.log ($ CONCAT (json1, json2, json3, json4, json5).); CONSOLE.LOG (어레이 (10) .join ( '-') + '(json4, json1, json2, json5)'+ 어레이 (10) .join ( '-')); CONSOLE.LOG (. $ CONCAT (json4, json1, json2, json5)); }); 센터 {패딩 : 3em; } <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> <중앙> 참조 콘솔 로그

    jsFiddle


  3. 3.당신은 병합을 시도 할 수

    당신은 병합을 시도 할 수

    var finalObj = $.merge(json1, json2);
    

  4. 4.때문에 당신이 jQuery를 사용하고 있습니다. 어떻게 jQuery.extend () 메소드에 대해?

    때문에 당신이 jQuery를 사용하고 있습니다. 어떻게 jQuery.extend () 메소드에 대해?

    http://api.jquery.com/jQuery.extend/


  5. 5.당신이 사용하는 에스 6의 새로운 기능을 수행 할 수 있습니다

    당신이 사용하는 에스 6의 새로운 기능을 수행 할 수 있습니다

    var json1 = [{id:1, name: 'xxx' , ocupation : 'Doctor' }];
    
    var json2 = [{id:2, name: 'xyz' ,ocupation : 'SE'}];
    
    var combineJsonArray = [...json1 , ...json2];
    
    //output should like this [ { id: 1, name: 'xxx', ocupation: 'Doctor' },
      { id: 2, name: 'xyz', ocupation: 'SE' } ]
    

    또는 당신은 여분의 문자열 또는 두 개의 JSON 배열 사이에 아무것도 넣을 수 있습니다 :

    var json3 = [...json1 ,"test", ...json2];
    
    // output should like this : [ { id: 1, name: 'xxx', ocupation: 'Doctor' },
      'test',
      { id: 2, name: 'xyz', ocupation: 'SE' } ]
    

  6. 6.아마, 당신은 자바 스크립트의 배열 구문을 사용할 수 있습니다 :

    아마, 당신은 자바 스크립트의 배열 구문을 사용할 수 있습니다 :

    var finalObj =[json1 , json2]
    

  7. 7.이 사용 Lodash의 _.merge 기능을 달성 할 수있다.

    이 사용 Lodash의 _.merge 기능을 달성 할 수있다.

    VAR json1 = [{ID : 1 명, 「XXX '}]; VAR json2 = [{ID : 2 명, 「XYZ '}]; VAR 병합 = _.merge를 (_ keyBy (json1 'ID') _.keyBy (json2 'ID').); VAR finalObj = _.values ​​(합병); CONSOLE.LOG (finalObj); <스크립트 SRC = "https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js">


  8. 8.ES6를 사용하는 경우 당신은 새로운 JS 확산 연산자를 사용할 수 있습니다 :

    ES6를 사용하는 경우 당신은 새로운 JS 확산 연산자를 사용할 수 있습니다 :

    VAR json1 = [{ID : 1 명, 「XXX '}] VAR json2 = [{ID : 2 명, 「XYZ '}] VAR finalObj = ... json1 ... json2] CONSOLE.LOG (finalObj)


  9. 9.jQuery를이 방법을 확장하여, 아래의 코드를 사용해보십시오 :

    jQuery를이 방법을 확장하여, 아래의 코드를 사용해보십시오 :

    var json1 = {"name":"ramesh","age":"12"};
    
    var json2 = {"member":"true"};
    
    document.write(JSON.stringify($.extend(true,{},json1,json2)))
    

  10. 10.

    var json1=["Chennai","Bangalore"];
    var json2=["TamilNadu","Karanataka"];
    
    finaljson=json1.concat(json2);
    
  11. from https://stackoverflow.com/questions/10384845/merge-two-json-javascript-arrays-in-to-one-array by cc-by-sa and MIT license