2013-08-02 2 views
1

Мне было интересно, как использовать объект для хранения списка разных имен и доступа к ним, просто используя ключ. Должен ли я использовать встроенный объект, подобный этому.Использование объектов для хранения списка имен

var f = 
{ 
    0 : { name : "John" }, 
    1 : { name : "Phillip" } 
}; 
console.log(f[1].name); 

ответ

4

Не переусердствуйте. Почему бы вам просто не попробовать простой массив?

var f = [ 
    { name : "John" }, 
    { name : "Phillip" } 
]; 
console.log(f[1].name); 
+0

Почему вы не использовать квадратные brakets в пределах массива, как [имя: «Джон»], но {}? – salacis

+0

@ user2646855 потому что это массив объектов. таким образом вы можете добавить более полезные свойства к вашим «объектам Person» следующим образом: '{name:« John », age: 21}' – letiagoalves

3

Почему не просто массив, который индексируется тождественно? Вы на самом деле нужен a name: атрибут почему-то?

var names = [ 'John', 'Phillip' ]; 

Вместо names[0].name, который является довольно излишним, вы бы просто использовать names[0] ...

+0

Если единственными свойствами вашего объекта являются 'name', то это намного проще и лучше , –

1

Он хочет получить доступ к ним с помощью ключа:

var people = { 
    John:{ age:33}, 
    Bob :{ age:42} 
}; 

Теперь вы действительно можете получить доступ к ним по ключу:

console.log(people["John"].age); 

или этот способ (хотя и нечетный):

console.log(people.John.age); 

Не требуется цикл, вы используете синтаксис синтаксиса javascripts для индексации непосредственно в вашу структуру данных. Не нужно также ссылаться на какой-либо произвольный целочисленный индекс.

Это определенно работает, но обычно вы должны использовать более подходящее свойство для индексации, чем просто имя, например, идентификатор сотрудника.

0

Вы можете использовать как этот

Var names = [ 
     { 'name' : 'ashwin', age: 18 }, 
     {'name' : 'jhon', 'age' : 20 } 
]; 

console.log ( names[0].name); 
Смежные вопросы