【问题标题】:Getting multi-dimensional array value using Javascript / node.js使用 Javascript / node.js 获取多维数组值
【发布时间】:2021-08-15 09:20:51
【问题描述】:

我有一个像这样的对象>

let arr = [
    ['animal','lion'],
    ['plant','rose'],
    ['tree','coconut'],
]

我想让我的代码看起来像这样:

['animal','lion']
['plant','rose']
['tree','coconut']

为此,我尝试了这种方法:

let sep1=arr[0];
let sep2=arr[1];

获取价值为:

['animal','lion']
['plant','rose']

我必须重复代码 3 次才能得到输出,但是如果一个对象中有 30 个数组呢?有什么解决办法吗?

Ps:我在编码方面很弱,请耐心等待:slight_smile:

【问题讨论】:

  • 我认为您正在尝试展平阵列?你的意思是这样吗? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 你可以使用解构:const [sep1, sep2, sep3] = arr;,但如果可能有 30 个嵌套数组,为什么要将每个嵌套数组的引用保存在单独的变量中?
  • 如果数组有 30 个成员,那么是的,您将需要 30 个变量。只需使用嵌套数组,将大数组分解为变量很少有用。如果您确实需要将成员分配到变量中,请使用destructuring。
  • 试试这个arr.flatMap(el => console.log(el)); 上面的解决方案也可以,但如果你有这个数组,其中动态分配的值flatmap 是一个不错的选择。

标签: javascript node.js arrays


【解决方案1】:

如果您希望能够通过key 访问单独的数组,您可以通过您的数组map() 并创建entries 以从中创建对象。这样,您可以通过property key 访问特定数组。

let arr = [
  ['animal', 'lion'],
  ['plant', 'rose'],
  ['tree', 'coconut'],
];


const result = Object.fromEntries(arr.map((a, i) => {
  return [`sep${i}`, a]; // return ['sepX', [x, x]] as entries
}));

console.log("result", result);
console.log("sep0", result.sep0);
console.log("sep1", result.sep1);
console.log("sep2", result.sep2);

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 2012-05-03
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多