在Javascript中克隆键的值

时间:2013-07-08 11:12:06

标签: javascript arrays key clone

我有一个数组(tlist),其中的键与数组相关联:

tliste.push({"GROUP104":["321992","322052","321812","314022","0"]});
tliste.push({"GROUP108":["322011","322032","0"]});
tliste.push({"GROUP111":["322020","322021","322040","322041","313060","313072","0"]});

我现在需要构建一个函数来获取例如Group104和Group111将这些克隆成一个新数组:

newarrray = ["321992","322052","321812","314022","0","322020","322021","322040","322041","313060","313072","0"]

最好对新阵列进行排序,并删除“0” - 但重要性较低。

1 个答案:

答案 0 :(得分:0)

让要提取的组为grp []。

你可以这样做 -

// Extract groups in grp[] from origArray[]
var extractGrps = function(grps, origArray) {
    var result = [];
    for(var i =0; i<grps.length; i+=1) {
        var indxInOrigArray = indexOfObjectWithKey(origArray, grps[i]);
        if(indxInOrigArray > 0) {
            var arrLocal = origArray[indxInOrigArray].grps[i];
            for(var j=0; j<arrLocal.length;j+=1)
                result.push(arrLocal[j]);
        }
    }
    return result;
}

//find Index of object in arr whose key matches the given input key
var indexOfObjectWithKey = function(arr, key) {
    for(var i=0; i<arr.length; i+=1) {
        if(arr[i].key) {
            return i;
        }
    }
return -1;
}