0

我正在尝试将一些项目推入不同的数组中。目前我可以使用 if 语句来做到这一点,如果我有太多的数组?如何使用动态变量将元素推入数组?

4

1 回答 1

0

使用引用您的数组的对象(或作为您在其中创建它们的原始容器)。

var env = {               // var a = [0, 2, 4], b = [1, 3, 5],
    'foo': [0, 2, 4],     //     env = {};
    'bar': [1, 3, 5]      // env['foo'] = a;
};                        // env['bar'] = b;

function addToArr(k, x) { // `k` string key, `x` item to append
    env[k].push(x);       // push `x` into array ref `env[k]`
}

addToArr('foo', 6);       // example usage
addToArr('bar', 7);

env;                      // result
/* {
    "foo": [0, 2, 4, 6],  // === a
    "bar": [1, 3, 5, 7]   // === b
} */

当然,您可以对对象的键使用您喜欢的任何逻辑以及您的函数如何决定使用哪个。

于 2013-06-14T14:51:31.473 回答