【问题标题】:How to save several data sets into array?如何将多个数据集保存到数组中?
【发布时间】:2016-08-16 23:19:58
【问题描述】:

我尝试用 JavaScript 为 krpano 编写一个插件。

我遇到的实际问题是以正确的方式存储几个数据集,以便以后可以轻松访问。

我有许多渲染的全景图像(项目之间的变化,最大 1-10),其中可能有一些变化。其他地板、其他颜色的厨房、其他白天等可能会有所不同。所以我事先不知道会有多少全景图像以及它们有多少变化。

我的想法是使用prompt(); 从用户那里获取所需的信息,并使用 for 循环来创建所有需要的变量。

 var panoCount = prompt("How many Panos do you have?");

    for (var i = 0; i < panoCount; i++) {
        panoOptions[i+1] = prompt("How many Options do you have for " + (i+1) + ". pano?");
 }

假设我有一张全景图像,包​​含 2 个不同的楼层、2 种不同类型的家具和 2 个不同的白天。我们一共得到 8 张图片 (2*2*2)。

在这种情况下,我们得到:

 How many Panos do you have? 
 -> 1 (store to panoCount)

 How many Options do you have for 1. pano? 
 -> 3 (floors, furniture, daytime)

现在我想在 for 循环中添加另一个 prompt(); 来询问每个选项有多少变体(地板变体、家具变体、白天变体)以及它们是如何命名的。 (白天,夜间 f.ex.)

在 JavaScript 中存储所有数据的最佳方式是什么。我应该在数组中使用数组还是有更好的解决方案?

任务进一步说明: 一般来说,我想为基于 html/xml 的全景查看器构建一个插件,而不是可以处理全景版本。所以全景中会有菜单,您可以在其中进行 f.ex。更改楼层,它将加载新的全景或将现有全景的网址更改为新的。

【问题讨论】:

  • 寻找“做 x 的最佳方法”的问题是基于意见的,因此与 stackoverflow 上的主题无关。你能重新表述一下要求吗?你对存储有什么期望?目前尚不清楚通过“以正确的方式存储某些内容以便以后可以轻松访问”来实现什么。
  • 感谢您的回答。这对我来说非常复杂,因为我不知道从哪里开始以及最终让所有这些都运行的最佳方式。我在上面对我的任务做了一些进一步的解释。

标签: javascript arrays plugins prompt krpano


【解决方案1】:

没有比其他更好的方法来回答您的问题了。这一切都取决于您最终实现需求的方式。

但是,如果我能提供帮助,我建议您使用对象数组来存储数据,因为访问特定数据块既简单又全面:

var myPanoSet = [
    {
        panoName: "MyPano1",
        options: {
            floor: [...],
            furniture: [...],
            daytime: [...]
        }
    }
};

然后您可以使用以下可读查询访问您的数据:

myPanoSet[0].options['floor'].count; // How many floor I have for first pano.

但这一切都取决于你......

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    相关资源
    最近更新 更多