【问题标题】:Better Way of Creating Many Arrays?创建多个数组的更好方法?
【发布时间】:2012-02-21 20:46:58
【问题描述】:

我什至不确定这是否是不好的做法并且需要更改,但我想确定一下。它似乎根本不会影响性能。

我有一个有很多选项的插件。用户可以按以下格式输入选项:

speed: "in,out > in,out > in,out"

每组“入、出”设置都适用于正在动画的 HTML 元素 - 由“>”分隔。以上是为 3 个不同的对象设置动画开/关速度。现在一切都在所有浏览器上完美运行,但我不得不创建大量数组来处理所有设置。基本上有一个数组包含所有 speed_in 设置(object1、object2、object3)、speed_out、effect_in 等...

基本上,我有一段代码只是为这些集合创建数组,如下所示:

var speed_in_set = [], speed_out_set = [], effect_in_set = [], effect_out_set = [] ....

数组名称基于原始默认设置名称:

speed: ... effect: ...

为了提高效率,我最好的猜测是遍历默认键名并附加 _on_set 和 _off_set 为每个数组创建一个新数组,但不知道该怎么做,如果我什至需要担心有数组太多。 谢谢!

【问题讨论】:

    标签: javascript jquery arrays variables loops


    【解决方案1】:

    JSON 是一种用于复杂数组结构的出色技术,尤其是对于值/名称对。应用广泛且速度快。

    编辑:示例。

    您可以通过添加更多元素来添加更多属性,而不是创建新数组。在这个网站上对 JSON 进行一些搜索,你会发现一些有趣的例子。我有一个名为“数据”的数据集,但您可以为其他目的添加其他数据集,全部在 JSON 对象上。这真的就像拥有一个小型数据库。

    <script type='text/javascript'>
    var myData = {"data":[
         {'speed_in_set':10,'speed_out_set':5,'effect_in_set':15,'effect_out_set':200.1},
         {'speed_in_set':15,'speed_out_set':5,'effect_in_set':15,'effect_out_set':200.1, 'color':'red'}
         ]
    }    
    
    alert(myData.data[0].speed_in_set)
    alert(myData.data[1].speed_in_set) 
    alert(myData.data[1].color)   
    </script>
    

    【讨论】:

    • 数组结构并不复杂,就是一堆而已。
    • 在 JSON 中,您使用的是命名值而不是多个数组。它更简洁 - 此外,您可以将其保存为数据库中的文本 blob 并使用 AJAX 轻松检索它。
    • 谁能提供一个示例代码来帮助我理解?抱歉,但我没有关注如何使用 JSON 来更有效地创建存储我的值的多个数组。谢谢!
    • 我将在答案中添加一个示例。
    • 好的,这一切都说得通,但我不太确定这就是我要找的。在示例中,speed_in_set 本身需要是一个数组,因为我将附加值推入该数组并稍后通过索引引用它们。所以 speed_in_set 需要定义,然后它会得到一个值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多