jQuery . extend( [deep], target, object1[, objectN] )

jQuery API の jQuery . extend( [deep], target, object1[, objectN] ) は、targetに指定したオブジェクトに、複数のオブジェクトの内容をマージ(併合)する。deepに、「true」を指定することで、再帰的にマージすることができる。

引数

deep

「true」を指定すると、再帰的にマージする。

target

新しいプロパティを受け取るオブジェクト。

object1

マージしたい追加プロパティを含むオブジェクト。

objectN

マージしたい追加プロパティを含むオブジェクト。

戻り値

Object

オブジェクト。

記述方法

jQuery . extend( true, target, object1, objectN );

targetに指定したオブジェクトに、object1、objectNを、再帰的にマージする。

記述例

var target = {
    Tarou: { Mathematics: 100 },
    Hanako: { Mathematics: 52, Science: 65, English: 100 },
    Ichirou: { Mathematics: 71, English: 83 },
    Sakura: { Mathematics: 64, Science: 79, English: 96 },
};
var object1 = {
    Tarou: { Mathematics: 98, Science: 98, English: 66 },
    Hanako: { Mathematics: 63 },
};
var object2 = {
    Ichirou: { Mathematics: 75, Science: 77, English: 90 },
};
jQuery . extend( true, target, object1, object2 );
var contents = '';
jQuery . each( target, function( key, value ) {
    contents += '\n\t<li><p>' + key + '</p>\n\t\t<ul>';
    jQuery . each( value, function( key2, value2 ) {
        contents += '\n\t\t\t<li><p>' + key2 + ': ' + value2 + '</p></li>';
    } );
    contents += '\n\t\t</ul>\n\t</li>';
} );
jQuery( 'ul#sample' ) . append( contents );

targetに、object1、object2を、再帰的にマージする。

idが「sample」のul要素に、

    <li><p>Tarou</p>
        <ul>
            <li><p>Mathematics: 98</p></li>
            <li><p>Science: 98</p></li>
            <li><p>English: 66</p></li>
        </ul>

    </li>
    <li><p>Hanako</p>
        <ul>
            <li><p>Mathematics: 63</p></li>
            <li><p>Science: 65</p></li>
            <li><p>English: 100</p></li>
        </ul>

    </li>
    <li><p>Ichirou</p>
        <ul>
            <li><p>Mathematics: 75</p></li>
            <li><p>English: 90</p></li>
            <li><p>Science: 77</p></li>
        </ul>

    </li>
    <li><p>Sakura</p>
        <ul>
            <li><p>Mathematics: 64</p></li>
            <li><p>Science: 79</p></li>
            <li><p>English: 96</p></li>

        </ul>
    </li>
を追加する。

実装例(サンプル)

実装例(サンプル)のソースコード

JavaScript

<script type="text/javascript">
<!--
jQuery( function() {
    var target = {
        Tarou: { Mathematics: 100 },
        Hanako: { Mathematics: 52, Science: 65, English: 100 },
        Ichirou: { Mathematics: 71, English: 83 },
        Sakura: { Mathematics: 64, Science: 79, English: 96 },
    };
    var object1 = {
        Tarou: { Mathematics: 98, Science: 98, English: 66 },
        Hanako: { Mathematics: 63 },
    };
    var object2 = {
        Ichirou: { Mathematics: 75, Science: 77, English: 90 },
    };
    jQuery . extend( true, target, object1, object2 );
    var contents = '';
    jQuery . each( target, function( key, value ) {
        contents += '<li><p>' + key + '</p><ul>';
        jQuery . each( value, function( key2, value2 ) {
            contents += '<li><p>' + key2 + ': ' + value2 + '</p></li>';
        } );
        contents += '</ul></li>';
    } );
    jQuery( '#jquery-sample' ) . append( contents );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-sample {
    color: #333333;
    list-style-type: square;
}
-->
</style>

HTML

<ul id="jquery-sample">
</ul>

スポンサード リンク

カテゴリー: API, JavaScript, jQuery, Utilities タグ: パーマリンク