我有这个:
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;,数组的名称。
答案 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
}
答案 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>');
}