2015-09-24 3 views
0

У меня есть это:Javascript, получить имя массива

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 "в оповещении, но мне нужно имя массива, а не контент. Как сделать?

Я хочу два предупреждения с: «одним» и «двумя», именем Массив.

+2

Вы можете создать массив с именем в нем и (в другом массиве) чисел. ["one", [1, 2, 3, 4]] – Matthijs

+2

Что вы пытаетесь сделать? Может быть лучший способ – Tushar

+0

Создать новую переменную, где вы можете удерживать строку, так как вы хотите получить имя? –

ответ

4

Используйте объект для хранения ваших массивов:

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

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); 
} 
+0

Какой смысл использовать массив объектов? похоже, немного перебор. –

1

Вы можете использовать «объект Буквальное» и использовать имя свойства, как имя и значение как массив. .

Например:

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

В сома e, имя должно быть установлено. Хотя 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>'); 
 
}

Смежные вопросы