动态数组名称的javascript

编程入门 行业动态 更新时间:2024-10-19 22:18:40
本文介绍了动态数组名称的javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有像名字有几个阵列。

ArrayTop []ArrayLeft []ArrayRight []ArrayWidth []

我想在一个函数动态设置的名称,然后设置值。

我已经试过的动态选择合适的阵列很多方法,但还没有拿出一个解决方案。

函数setarray(A,B,C){    的eval(阵列+ A + [B])= C}setarray('顶',5100)

在这个例子中我试图设置。

ArrayTop [5] = 100

解决方案

如果您在浏览器中这样做,一个可能的解决办法是要做到:

函数setArray(A,B,C){    窗口['阵列'+ A] [B] = C;}setArray('顶部',5,100);

我会建议你所有的阵列包含在某个对象,不污染全局命名空间。因此,它会更喜欢:

VAR阵列= {    ArrayTop:[],    ArrayNorth:[]};函数setArray(A,B,C){    阵列['阵列'+ A] [B] = C;}setArray('顶部',5,100);

我不建议使用eval。 EVAL并不意味着这种动态的评价,这是一个巨大的性能损失。

I have a few arrays with like names.

ArrayTop[] ArrayLeft[] ArrayRight[] ArrayWidth[]

I am trying to set the name dynamically in a function and then set value.

I have tried many ways of dynamically picking the right array but have not come up with a solution.

function setarray(a,b,c){ eval(Array+a+[b])=c } setarray('Top',5,100)

In this example i am trying to set.

ArrayTop[5]=100

解决方案

If you are doing this in the browser, one possible solution would be to do:

function setArray(a, b, c){ window['Array' + a][b] = c; } setArray('Top', 5, 100);

I would recommend that all your array's be contained in some object and not pollute the global namespace. So it would be more like:

var arrays = { ArrayTop: [], ArrayNorth: [] }; function setArray(a, b, c){ arrays['Array' + a][b] = c; } setArray('Top', 5, 100);

I would not recommend using eval. Eval is not meant for this kind of dynamic evaluation and it is a huge performance hit.

更多推荐

动态数组名称的javascript

本文发布于:2023-07-28 02:35:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1226504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   名称   动态   javascript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!