【问题标题】:Javascript LARGE 2D array of ObjectsJavascript LARGE 2D 对象数组
【发布时间】:2011-09-07 03:07:54
【问题描述】:

我在一个 javascript 文件中有一个非常大的数组,包含 44,000 多个对象。

我的问题是编辑文件非常糟糕(特别是如果我必须将数组中的每个对象移动 1 个值)。

我尝试了一个 csv 文件,但我无法让文本成为我的对象。我考虑过 XML 和 JSON,但我认为它无法解决我的编辑问题。

我希望有一个 javascript 编辑器可以处理像表格一样的二维数组,或者基本上任何可以创建对象数组并允许我像表格一样进行编辑的东西。

谢谢

【问题讨论】:

  • 为什么使用 javascript 文件作为数据库?您的问题可能是该文件对于大多数文本编辑器来说太大了。您应该考虑一种更有效的数据存储方式。编辑/维护听起来像是一场噩梦。
  • “像一张桌子”是什么意思?你是说你在管理你的源代码时遇到了麻烦,并且想要一个电子表格(或 Word 表格),比如你的源代码布局,这样你就可以轻松地编辑单个对象,也可以做一些事情,比如删除一个特定的对象并拥有所有下面的在数组中向上移动(或所有右边的向左移动)?
  • @Chris 相信我,编辑/维护是一场噩梦。我在学期之间做了一个有趣的项目,我的学校给了我钱来做一些事情。问题是,作为一年级学生,我没有计划可扩展性。 @nnnnnnn 基本上就像一个excel表。易于在水平和垂直方向上移动值等

标签: javascript arrays object 2d


【解决方案1】:

好的,首先:什么是什么?在您的源文件中硬编码了 44,000 个对象?为什么你甚至有 44,000 个对象,却不能以某种方式生成它们?

无论如何...

假设我正确理解您的要求,我建议解决您的编辑问题但仍生成标准 JS 脚本文件是使用 Excel 电子表格进行编辑,将源数据保存为标准 Excel 格式,并编写 Excel 宏(VBA) 在按下按钮时生成所需的 JS 文件输出,有点像在 IDE 中按下编译按钮。严重地。听起来您想要一个漂亮的可视化编辑器,它可以在数组中移动东西,在删除时向上移动单元格,所有这些都是 Excel 擅长的擅长。您需要从电子表格中获取数据并将其输出为具有有效 JavaScript 数组声明的 JS 文件的 VBA 宏将是微不足道的,不超过 20 或 30 行代码,基本上应该是一个简单的嵌套 for 循环它进行了一些初始化以打开文件进行写入等。

记住 JavaScript 没有多维数组我假设您想要一个数组数组,其中每个子数组的长度相同并包含对象,并且您想要的 输出 JS 文件是像这样的东西(除了更大):

var myObjectArray = [
  [ {id:1}, {id:2}, {id:3}, {id:4}  ],
  [ {id:5}, {id:6}, {id:7}, {id:8}  ],
  [ {id:9}, {id:10},{id:11},{id:12} ],
  [ {id:13},{id:14},{id:15},{id:16} ]
];

从 Excel 生成类似的东西很容易。

【讨论】:

  • 毫无疑问,我确信有更好的方法来解决这个问题。这是一次非常好的学习经历。这只是我学校接手的一个小项目,规模比我想象的要大得多。我一定会看看 VBA 和 excel。我真的不想诉诸这个,因为我在学习中还没有做过类似的事情,但我想学习会很好。应该不会太难。谢谢。
  • 自从我上次编写 Excel VBA 以来已经有很多年了,但我已经完成了导出和导入类型的事情,我可以向您保证这很容易。 Excel 有自己的 DOM 概念,因此您只需在嵌套循环中执行 Worksheets["myworksheet"].Cells(x,y).Value 之类的操作。我相信你会弄清楚的。如果您等待,您的问题可能会得到更好的答案,但无论哪种方式,请务必返回并接受 some 答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 2016-04-22
  • 1970-01-01
相关资源
最近更新 更多