在Javascript中循环Json的最佳方法

在Javascript中循环Json的最佳方法,javascript,json,Javascript,Json,所以我有这个设置 [{ "name": "Business", "skip": "0", "pos": "1" }, { "name": "contact", "skip": "1", "pos": "3" }, { "name": "UKSite", "skip": "0", "pos": "2" } ] 然后

所以我有这个设置

[{
        "name": "Business",
        "skip": "0",
        "pos": "1"
    },
    {
        "name": "contact",
        "skip": "1",
        "pos": "3"
    },
    {
        "name": "UKSite",
        "skip": "0",
        "pos": "2"
    }
]
然后我有了我的数据json

[{
    "name": "contact",
    "hideShow": true,
    "data": {
        "con_title": "Sri",
        "con_fName": "Jhon",
        "con_lName": "Snow",
        "emails": ["maheshwar@hsjsk.com", ""],
        "phones": ["8867116216", ""]
    },
    "repeatable": false
}, {
    "name": "UKAddress",
    "hideShow": true,
    "data": {
        "addAddress": [{
            "add_bilding_num": "BUILDING NAME/NUMBER",
            "add_street_name": "STREET",
            "add_town": "TOWN",
            "add_county": "COUNTY",
            "add_pc": "POST CODE",
            "add_type": "TYPE"
        }, {
            "add_bilding_num": "BUILDING NAME/NUMBER",
            "add_street_name": "STREET",
            "add_town": "TOWN",
            "add_county": "COUNTY",
            "add_pc": "POST CODE",
            "add_type": "TYPE"
        }]
    },
    "repeatable": false
}, {
    "name": "Business",
    "hideShow": true,
    "data": {
        "biss_name": "Nano Corporation"
    },
    "repeatable": false
}, {
    "name": "contact",
    "hideShow": true,
    "data": {
        "con_title": "Mr",
        "con_fName": "Roshan",
        "con_lName": "Aslam",
        "emails": ["roshan@throughbit.com"],
        "phones": ["8867116216"]
    },
    "repeatable": true
}, {
    "name": "UKSite",
    "hideShow": true,
    "data": {
        "site_name": "naonocrporation.co.uk",
        "external_rff": "fsfsfs",
        "con_title": "Mr",
        "con_fName": "Kash",
        "con_lName": "Sangh",
        "emails": ["kash@youremail.com"],
        "phones": ["8867116216"],
        "addAddress": [{
            "add_bilding_num": "",
            "add_street_name": "",
            "add_town": "",
            "add_county": "",
            "add_pc": "",
            "add_type": ""
        }],
        "ElecMeter": [{
            "distrib_id": "DISTRIBUTOR ID",
            "pc": "PROFILE CLASS",
            "mtc": "METER TIMESWITCH CODE",
            "llf": "LINE LOSS FACTOR",
            "mpc": "MPAN CORE",
            "eac": "EAC",
            "c_supplr": "CURRENT SUPPLIER",
            "c_date": "CURRENT END DATE",
            "select": true
        }, {
            "distrib_id": "",
            "pc": "",
            "mtc": "",
            "llf": "",
            "mpc": "",
            "eac": "",
            "c_supplr": "",
            "c_date": ""
        }],
        "GasMeter": [{
            "mprn": "MPRN",
            "aq": "AQ",
            "g_c_supplr": "CURRENT SUPPLIER",
            "g_c_date": "CURRENT END DATE"
        }]
    },
    "repeatable": true
}]
我必须循环使用数据json,并使用设置json的信息来创建新的json

比如说 我的新json应该是这样的

[{
        "name": "Business",
        "hideShow": true,
        "data": {
            "biss_name": "Nano Corporation"
        },
        "repeatable": false
    },
    {
        "name": "contact",
        "hideShow": true,
        "data": {
            "con_title": "Mr",
            "con_fName": "Roshan",
            "con_lName": "Aslam",
            "emails": [
                "roshan@throughbit.com"
            ],
            "phones": [
                "8867116216"
            ]
        },
        "repeatable": true
    },
    {
        "name": "UKAddress",
        "hideShow": true,
        "data": {
            "addAddress": [{
                    "add_bilding_num": "BUILDING NAME/NUMBER",
                    "add_street_name": "STREET",
                    "add_town": "TOWN",
                    "add_county": "COUNTY",
                    "add_pc": "POST CODE",
                    "add_type": "TYPE"
                },
                {
                    "add_bilding_num": "BUILDING NAME/NUMBER",
                    "add_street_name": "STREET",
                    "add_town": "TOWN",
                    "add_county": "COUNTY",
                    "add_pc": "POST CODE",
                    "add_type": "TYPE"
                }
            ]
        },
        "repeatable": false
    }
]
您可以观察到,术语skip:1意味着跳过第一个,并添加其余的术语pos:1,它告诉您对象在新数组中的位置

任何帮助都会很好

更新1

我想出了这个片段

ar finalArray=[] forvar i=0;i
谢谢

因为您正在处理一组对象,并且希望在迭代过程中根据条件修改每个对象,所以我建议您使用forEach

这里有文档和示例:

wtf这些是电子邮件吗maheshwar@lovejihad.com ?!仅供参考,您可以使用jsonlint.com使用适当的缩进来格式化json。您也可以使用4space选项卡在您的帖子中设置代码块格式。我已对您的文档进行了编辑question@Apolo一个让自己进入中央情报局雷达的相当愚蠢的方式@Balázs请检查我更新的问题,我删除了这些废话:P@Apolo我现在脱离了危险,我们能集中精力解决实际问题吗