[英]Transforming two one dimensional arrays into one two dimensional array JavaScript
我有两个 arrays,长度相同:
我想将它组合成这样的二维数组:
我该怎么做? 嵌套,映射? 基本上第一个数组是关键。 最后我想在 D3 中绘制一个折线图,我发现的所有示例都使用二维 arrays。 一个是 x 轴,另一个是 y 轴。 可能还有另一种可能。 谢谢
let x = [0, 1, 2, 3] let y = [12, 55, 23, 46] let z = []; for(let i=0;i<x.length;i++){ z.push([x[i],y[i]]) } console.log(z)
像这样将其转换为二维数组
const newArray = []; const x = [0, 1, 2, 3, ..., 1439], y = [12, 55, 23, 46, ..., 99] for(let i = 0; i < x.length; i++){ newArray.push([x[i], y[i]) }
非常感谢,这有帮助。
let min = 0;
let max = 100;
let x_arr = [];
let y_arr = [];
let z_arr = [];
let z_ars = [];
let z_arx = [];
let z_arz = [];
for (let i = 0; i < 360; i++) {
var r = Math.round(Math.random() * (max - min)) + min;
x_arr[i]= i;
y_arr[i]= r;
z_arr.push([x_arr[i],y_arr[i]]);
z_ars.push([y_arr[i]]);
z_ars.sort(function(a, b){return a - b});
z_arz.push([x_arr[i]]);
}
z_arx.push([z_arz,z_ars]);
console.log(z_arr);
console.log(z_ars);
console.log(z_arz);
console.log(z_arx);
现在我想对随机数据进行排序,并以同样的方式将两个 arrays 放在一起。 但是不可能单独创建它们并以相同的方式组合它们。 必须做一些不同的事情。
这几乎可行,但不完全:
for (let i = 0; i < 360; i++) {
var r = Math.round(Math.random() * (max - min)) + min;
x_arr[i]= i;
y_arr[i]= r;
z_arr.push([x_arr[i],y_arr[i]]);
s_arr = y_arr.sort(function(a, b){return a - b});
komplett.push([x_arr[i],s_arr[i]]);
}
console.log(z_arr);
console.log(s_arr);
console.log(komplett);
这进行了排序:
s_arr = y_arr.sort(function(a, b){return a - b});
let neu_arr = [];
let zz_arr = [];
for (let i = 0; i < 1440; i++) {
neu_arr[i]= i;
zz_arr.push([neu_arr[i], s_arr[i]]);
}
document.write("zz " + zz_arr + '<hr>');
console.log(zz_arr);´
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.