2013-06-18 2 views
0

Что такое легче понять решение выйти на следующие значения:Извлечение значений из многомерных массивов с JS

Bill, Smith, 32 
Sarah, Lord, 28 

Я только что получил это далеко:

HTML

<a href="#" onclick="displayEmployees();">displayEmployees</a>

Javascript

function displayEmployees() { 
var employees = new Array(); 
employees['firstName'] = new Array('Bill','Sarah','Elizabeth','David','Robert'); 
employees['lastName'] = new Array('Smith','Lord','Crayford','Clark','Robinson'); 
employees['age'] = new Array('32','28','20','54','18'); 
for(x in employees) { 
    var value = employees[x] 
    document.write(value + "<br />"); 
} 

ответ

1

Вы можете сделать, как этот

var value; 
for(x in employees['firstName']){ 
    value = employees['firstName'][x]+', ' 
      +employees['lastName'][x]+', ' 
      +employees['age'][x]; 

    document.write(value + "<br />"); 
} 

лучшим способом будет создать массив сотрудников в другой форме, как это

employees = [{'firstName':'Bill','lastName':'Smith','age':32}, 
      {'firstName':'Sarah','lastName':'Lord','age':28},...]; 

var value; 
for(x in employees){ 
    value = employees[x].join(', '); 
    document.write(value + "<br />"); 
} 
+0

Вам не кажется, что этот ответ выглядит как гибрид существующих ответов – bugwheels94

+0

@Ankit Не думайте, что голос мой вопрос не имеет значения, поскольку 1. ваш ответ определенно не яснее, чем принятый, даже не отформатированный лучше; 2. Второй ответ (Esailija) на самом деле не отвечает на вопрос ?! – Chris

+0

@ChrisDemetriad позвольте мне вежливо очистить вас от одной вещи, что я не спустил вас на второй план – bugwheels94

2
var array = [ 
    ["Bill", "Smith", "32"], 
    ["Sarah", "Lord", "28"], 
    ["Elizabeth", "Crayford", "20"], 
    ["David", "Clark", "54"], 
    ["Robert", "Robinson", "18"] 
]; 
for (var i = 0, len = array.length; i < len; ++i) { 
    document.write(array[i].join(", ") + "<br>"); 
} 
2
function displayEmployees() { 
var employees = new Array(); 
employees['firstName'] = new Array('Will','Sarah','Elizabeth','David','Robert'); 
employees['lastName'] = new Array('Smith','Lord','Crayford','Clark','Pattinson'); 
employees['age'] = new Array('32','28','20','54','18'); 
for(var i=0;i<employees['firstName'].length;i++)    //can be employees['lastName']or employee['age'] too 
{ 
    document.write(employees['firstName'][i]+','+employees['lastName'][i]+','+employees['age'][i]+'<br />');} 
}