使用JavaScript,从多维数组中获取所有X列表并放入新数组的最佳方法是什么?如果可能,我想使用reduce或map?这个过程有一个术语,我应该像数学过程一样知道吗?
[{x:0,y:8,z:-1}, {x:1, y:8.5, z:-0.5}, {x:2, y:9, z:0}]
并且很晚才添加(如果可能的话,更喜欢使用此解决方案):
[[0,8,-1], [1, 8.5, -0.5], [2, 9, 0]]
我如何得到x'
[0,1,2]
答案 0 :(得分:1)
你走了。也许不那么聪明,但我相信你能理解那个剧本的每一行。
var arr = [{x:0,y:8,z:-1}, {x:1, y:8.5, z:-0.5}, {x:2, y:9, z:0}];
var array = [];
for (var i = 0; i < arr.length; i++) {
for (var key in arr[i]) {
array.push(arr[i][key]);
break;
}
}
console.log(array);
答案 1 :(得分:0)
var points = [[0,8,-1], [1, 8.5, -0.5], [2, 9, 0]];
var abscissas = points.reduce( (a,v)=> {a.push(v[0]); return a}, []);
// abscissas array is now [0,1,2]
使用points
处理reduce
数组中的每个条目(根据要求)推送点数&#39; x-纵坐标(v[0]
)到累积数组上作为前一个值传递。
必须有多种方法可以做到这一点,使用Array.prototype.map
比使用reduce
更简单:
var abscissas = points.map( (v)=>v[0])
我将数学过程称为&#34;投影到x轴上&#34;但数学家可能会有所不同。