Javascript,检索数组名称

时间:2015-09-24 11:04:02

标签: javascript arrays alert

我有这个:

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]);
}

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

我想要两个警告:&#34;一个&#34;和&#34;两个&#34;,数组的名称。

4 个答案:

答案 0 :(得分:3)

使用对象来保存数组:

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

答案 1 :(得分:0)

是的,我同意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); 
}

答案 2 :(得分:0)

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

例如:

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() )
}

答案 3 :(得分:0)

在某个地方,必须设置名称。虽然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>');
}