我有这个多维数组:
points= [['1','2','3'], ['4','5','6'] ]
我在上面的数组中有一个检查所需的点数组;
new_points = [ 'a','b', 'c', 'd', 'e', 'f']
所以a
到1
(0,0),b
到2
(0,1)等,所以积分变为;
points= [['a','b','c'], ['d','e','f'] ]
多维数组将始终为 3 x 3 , 4 x 4 等。
答案 0 :(得分:0)
使用两个.map()
,然后在嵌套函数中根据地图索引获取new_points
的相关项目的索引。
var points= [['1','2','3'], ['4','5','6']];
var new_points = [ 'a','b', 'c', 'd', 'e', 'f'];
var newArr = points.map(function(item, i){
return item.map(function(val, j){
return new_points[(item.length*i)+j];
});
});
console.log(newArr);
答案 1 :(得分:0)
如果点是二维的,但是嵌套数组的长度可以变化,那么您可以使用计数器来减少点,以帮助从new_points获取项目:
var byteArray = new byte[sizeof(UInt32)];
varBytes.CopyTo(byteArray);
UInt32 varReady = BitConverter.ToUInt32(byteArray, 0);
答案 2 :(得分:0)
您可以通过映射原始数组结构来移动new_points
的每个元素。
var points = [['1', '2', '3'], ['4', '5', '6']],
new_points = ['a', 'b', 'c', 'd', 'e', 'f'];
points = points.map(a => a.map(Array.prototype.shift, new_points));
console.log(points);