Javascript, 检索数组名称

Javascript, retrieve array name

我有这个:

var one = ['12','24','36'];

var two = ['10','20','30'];

如果我这样做:

alert(one) 我有:12,24,36。而且没关系。

我需要从另一个函数中获取数组的名称,我从 for 中这样调用它:

var test = [one,two]

for (i = 0; i < test.length; i++) {
  alert(test[i]);
}

我在警报中有“12,24,36”,然后是“10,20,30”,但我需要数组的名称,而不是内容。怎么办?

我想要两个警报:"one" 和 "two",数组的名称。

是的,我同意 elad.chen。您可以尝试类似的操作:

var objects = [
    {name:"one",value:['12','24','36']},
    {name:"two",value:['12','24','36']}
];

for(var i=0;i<objects.length;i++){
    console.log(objects[i].name); 
    console.log(objects[i].value); 
}

使用对象来保存数组:

var obj = {
    one: ['12','24','36'],
    two: ['10','20','30']
}

for (var p in obj) {
  console.log(p); // log the key
}

或者,您可以使用 Object.keys(obj) 检索对象键数组。

如果需要记录数组内容:

for (var p in obj) {
  console.log(obj[p]); // log the array contents
}

DEMO

您可以使用 "Object Literal" 并使用 属性 名称作为名称,并将值作为数组..

例如:

var arrays = {
"one": [1,2,3],
"two": [1,2,3]
}

for ( var k in arrays ) {
  alert('"Array name" = ' + k)
  alert('"Array value" = ' + arrays[k].toString() )
}

在某些地方,必须设置名称。虽然 Javascript 可以向对象添加属性,但它可以用于名称 属性 而无需更改数组的行为。

var one = ['12', '24', '36'];
one.name = 'one';
var two = ['10', '20', '30'];
two.name = 'two';
var test = [one, two], i;

for (i in test) {
    document.write(test[i].name + '<br>');
}