我有一个二维数组,如下所示。现在,我想再添加3列(Col E,Col F,Col G),并且这三列应具有来自Col D的解析值。
修改现有数组k(OR)都会创建一个新数组。
输入:
k=[
[Col A, Col B, Col C, Col D],
[1, A, 8, [(P0, 1), (P2, 7), (P1, 1)]],
[2, B, 4, [(P2, 4)]],
[3, C, 13,[(P2, 1)]]]
输出:
[Col A, Col B, Col C, Col D, Col E, Col F, Col G],
[1, A, 8, [(P0, 1), (P2, 7), (P1, 1)],1,7,1],
[2, B, 4, [(P2, 4)],0,4,0],
[3, C, 13,[(P2, 1)],0,1,0]]]
提前致谢!
这会满足您的需求吗?
它遍历每一行,加[0,0,0]并将0替换为该位置处的数字,只要它能找到替换规则即可。
请注意,我会在一段时间内进行分配,这在使用此类生成器进行工作时并不罕见。
data6.map(function(row) {
var toExpand = row[row.length-1];
var indices = /(?:\(P)(\d)/g;
var splitter = /(\d)(?:\))/g;
var extracted;
var eIndex;
toAdd = [0,0,0];
while(extracted = splitter.exec(toExpand)) {
eIndex = indices.exec(toExpand);
toAdd[eIndex[1]] = extracted[1];
}
return row.concat(toAdd);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句