如何按名称到达数组?

时间:2014-06-25 03:39:28

标签: javascript jquery arrays

我有两个这样的数组:

var windows_array = [];
var google_array = [];

在这里,我希望通过传递网络来实现指定的数组。

function add_friends(network, friend){
    (network + '_array').push(friend);
}

function get_friends(network){
    var d = $('.div_out');
    for(var i=0; i< (network + '_array').Length; i++){
        d.append('<div>' + (network + '_array')[i].name + '</div>')
    }
}

我的问题是如何在jQuery中完成它?

我知道在PHP中它是可能的。

3 个答案:

答案 0 :(得分:6)

在这样的对象中声明数组:

var reg = {
    'windows': [],
    'google': []
};

然后,将代码更改为reg对象的下标:

function add_friends(network, friend) {
    reg[network].push(friend);
}

function get_friends(network)
{
    var $container = $('.div_out');

    $.each(reg[network], function() {
        $('<div>', { text: this.name }).appendTo($container);
    });
}

答案 1 :(得分:1)

使用开关案例:

   switch(network) {
        case google:
            google_array.push(friend);
            break;
        case windows:
            windows_array.push(friend);
            break;
        default:
            --
        --
    }

答案 2 :(得分:0)

不那么优雅的解决方案:

 var t = eval(network + '_array');
 t.push(friend);

jsfiddle