gpt4 book ai didi

javascript - 在Javascript中创建一个空的二维数组,带有键

转载 作者:行者123 更新时间:2023-12-04 01:04:32 24 4
gpt4 key购买 nike

我正在尝试在 Javascript 中创建一个矩阵,但它具有预定义的 X 和 Y 轴键。

例如我有以下键

const x = [2,4,6,8]
const y = [10,20,40,60,80]

我找到了以下代码片段,它创建了一个 4 行 5 列的空二维数组
[...Array(4)].map(x=>Array(5).fill(0))       

我想知道是否可以创建这些数组(对象),但使用提供的键来配合它。

所以最终的结果应该是这样的。
{
2 => {10 => 0, 20 => 0, 40 => 0, 60 => 0, 80 => 0}
4 => {10 => 0, 20 => 0, 40 => 0, 60 => 0, 80 => 0}
6 => {10 => 0, 20 => 0, 40 => 0, 60 => 0, 80 => 0}
8 => {10 => 0, 20 => 0, 40 => 0, 60 => 0, 80 => 0}
}

最佳答案

您可以通过循环和减少数据来创建想要的对象。

Array#reduce 的回调将累加器作为第一个参数,这里它是一个对象,第二个参数是迭代数组的值。

作为 reduce 的 startValue ,它需要一个(一种空的)对象并使用这个对象来添加属性。为了让这个对象(又名累加器)为下一个循环(和最终结果)做好准备,它必须被返回。

var x = [2, 4, 6, 8],
y = [10, 20, 40, 60, 80],
result = x.reduce((r, k) => {
r[k] = y.reduce((q, l) => {
q[l] = 0;
return q;
}, {});
return r;
}, {});

console.log(result);

关于javascript - 在Javascript中创建一个空的二维数组,带有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58854038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com