来自多个数组的Javascript concat字符串

时间:2015-10-23 09:13:26

标签: javascript arrays concat

    var colDisp = {

    "COL1": [

        [
            {
                'id': 'select1Opt1',
                'txt': 'A'
            },
            {
                'id': 'select1Opt2',
                'txt': 'B'
            }


        ],

        [
            {
                'id': 'textbox1',
                'txt': 'C'
            }

        ],

        [
            {
                'id': 'select2Opt1',
                'txt': 'D'
            },
            {
                'id': 'select2Opt2',
                'txt': 'E'
            }
        ]

    ],
    "COL2": [
        [
            {
                'id': 'select3Opt1',
                'txt': 'F'
            },
            {
                'id': 'select3Opt2',
                'txt': 'G'
            }
        ],
        [
            {
                'id': 'textbox2',
                'txt': 'H'
            }
        ]

    ]
}


var outPut = [
  'COL1:select1Opt1-textbox1-select2Opt1|||COL2:select3Opt1-textbox2',
  'COL1:select1Opt1-textbox1-select2Opt2|||COL2:select3Opt1-textbox2',
  'COL1:select1Opt2-textbox1-select2Opt1|||COL2:select3Opt1-textbox2',
  'COL1:select1Opt2-textbox1-select2Opt2|||COL2:select3Opt1-textbox2',

]

var makeOtpDocPick = function(colDisp){
    var lst = {}, lstColItm = [], col;
    for(var colName in colDisp){
        col = colDisp[colName];
        lst[colName] = [];
        console.log(colName);
        var frist = col[0];// it is array 
        frist.forEach(function(fItem){
            var fItmTmp = fItem.id;

            col.forEach(function(v, idx){
                if(idx == 0) return true;

                v.forEach(function(_v){

                    lstColItm = [];
                    lstColItm.push(fItmTmp);

                    var tmp = _v.id
                    lstColItm.push(tmp);

                    var colVal = lstColItm.join('-');
                    lst[colName].push(colVal);
                });

            });

        });

    }

    console.log(lst);
};

makeOtpDocPick(colDisp);

我有任何部分(在我的例子中它们是COL1和COL2),在每个部分我有2个(或多个)文档。 在每个文档中都会有任何输入字段(文本框,选择框)。 文本框只有一个值,selectbox将具有列表选项值。

我想从所有部分连接id,但不应重复一个选项(选择框)的id。

抱歉我的英文。

0 个答案:

没有答案