【发布时间】:2019-07-17 05:40:33
【问题描述】:
我能够将矩阵 W 的元素过滤为满足条件语句 => 的元素,将每个内部矩阵中的元素保留在中值以下。中值数组的元素是每个内部数组的中值。
const W = [[45, 60, 15, 35],[45, 55, 75],[12, 34, 80, 65, 90]
];
const median = [ 40, 55, 65 ];
const Wmin = [];
for (let j = 0; j < W.length; j++) {
for (let k = 0; k < W[j].length; k++) {
if (W[j][k] < median[j]) {
Wmin.push(W[j][k]);
}
}
}
console.log(Wmin)
我使用了一个 for 循环,但生成的 Wmin 数组是扁平的。我的目标是能够过滤 W 并且仍然得到未展平的二维数组。
我收到Wmin = [ 15, 35, 45, 12, 34 ],但预期的数组应该是Wmin = [ [15, 35], [45], [12, 34] ]
【问题讨论】:
-
使用
[ 40, 55, 65 ];如何确定结果? -
我使用mathjs库来获取每个内部矩阵的中位数,这里是代码
const median = []; for (let j = 0; j < W.length; j++) { median[j] = math.median(W[j]); } -
如果您希望稍后更改 wmin,请使用 let 。小建议
标签: javascript multidimensional-array filter