JavaScript 中显示多维数组中一维数组的变量名

本文介绍了如何在 JavaScript 中,当使用包含多个一维数组的多维数组时,显示每个一维数组的变量名。核心方法是使用对象来代替多维数组,利用对象的属性名来表示原一维数组的变量名,并通过循环遍历对象属性来实现目标输出。

在 JavaScript 中,直接将变量名转换为字符串通常比较困难。 为了实现显示多维数组中一维数组的变量名的需求,更有效的方法是使用对象而非直接使用多维数组。 这种方法利用了对象属性的特性,可以方便地访问和显示数组的“名称”。

使用对象代替多维数组

首先,定义包含一维数组的对象。对象的键将代表你想要显示的“变量名”,而值将是实际的数组。

const fruits = ["apple","Mango","Banana","Pineaple","Pear"];
const vegetables = ["Okra", "Spinach", "Kenef", "Bitter Leaf", "Bell [Peppers"];
const proteins = ["Fish", "Caviar", "Chicken", "Eggs", "Beans"];

const shoppingList = {fruits, vegetables, proteins};

这里使用了对象属性简写语法,{fruits, vegetables, proteins} 等同于 {fruits: fruits, vegetables: vegetables, proteins: proteins}。

遍历对象并显示数组名和内容

接下来,可以使用 for...in 循环遍历对象的属性(即数组名),然后使用 for...of 循环遍历每个数组的内容。

for(const category in shoppingList) {
  console.log(`[${category}]`); // 显示数组名
  for(const item of shoppingList[category]) {
    console.log(" -", item); // 显示数组元素
  }
  console.log(""); // 添加一个空行,使输出更清晰
}

这段代码会产生如下输出:

[fruits]
 - apple
 - Mango
 - Banana
 - Pineaple
 - Pear

[vegetables]
 - Okra
 - Spinach
 - Kenef
 - Bitter Leaf
 - Bell [Peppers

[proteins]
 - Fish
 - Caviar
 - Chicken
 - Eggs
 - Beans

注意事项

  • for...in 循环主要用于遍历对象的属性。虽然它也可以用于数组,但不推荐这样做,因为数组是特殊的对象,使用 for...of 或传统的 for 循环更适合。
  • 确保你的数组名是有意义的,因为这些名称将直接显示在输出中。
  • 这种方法避免了直接操作变量名字符串的复杂性,使其更易于维护和理解。

总结

通过使用对象来存储数组,并利用对象的属性名来表示数组的“变量名”,可以有效地解决在 JavaScript 中显示多维数组中一维数组变量名的问题。 这种方法简洁、易懂,并且易于扩展,是处理类似需求的推荐方案。