Javascript關於JSON集合的幾種迴圈方法

來源:互聯網
上載者:User

標籤:

/** * 根據json資料產生option樹形控制項 * 如果有children節點則自動產生樹形資料 * @param {JSON} data * @param {int} n 節點深度 * @param {string} char 節點名稱首碼 * @returns {string} * @since 1.0 2014-8-22 by sutroon * @example *      var data = (typeof (data) == "object") ? data : $.parseJSON(data); *      var str = ‘‘; *      str=generate_options(data); */function generate_options(data, n, char) {    if (n == undefined) {        n = 0;    }    if (char == undefined) {        char = ‘..‘;    }    var pad = ‘‘;    while (n > 0) {        pad += char;        n--;    }    var str = ‘‘;    if (data.length) {        // 多行格式        for (var i = 0; i < data.length; i++) {            if (data[i].id) {                // 用於[{"id":"1","name":"name1"}]格式                                str += ‘<option value="‘ + data[i].id + ‘">‘ + pad + (data[i].name ? data[i].name : data[i].text) + ‘</option>‘;            } else if (data[i].item) {                // 用於[{"item":"1"},{"item":"2"}]                str += ‘<option value="‘ + data[i].item + ‘">‘ + pad + data[i].item + ‘</option>‘;            } else {                // 用於{"item1","item2"}格式                str += ‘<option value="‘ + data[i] + ‘">‘ + pad + data[i] + ‘</option>‘;            }            if (data[i].children) {                str += generate_options(data[i].children, n + 1, char);            }        }    }    else {        // 用於{"a":"a1","b":"b2"}單行格式        for (var attr in data) {            str += ‘<option value="‘ + attr + ‘">‘ + data[attr] + ‘</option>‘;        }    }    return str;}

著作權聲明:本文原著天瀾(14507247#qq.com),著作權遵循知識共用許可協議[查看]。您可自由轉載收藏,但請留此聲明,感謝!

Javascript關於JSON集合的幾種迴圈方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.