2016-10-02 2 views
-3

Как получить доступ к значению имени и присвоить его переменной?Как получить доступ к значению из объекта в массиве?

var arr = [ 
    {Name: "Jason", 
    Title: "Student", 
    Image: "asdf", 
    Status: "Happy"} 
]; 
+0

'arr' является массивом. Чтобы получить доступ к первому элементу в нем, выполните 'arr [0]'. Теперь, чтобы получить доступ к свойству 'Name', вы можете сделать' arr [0] .Name' – thefourtheye

+2

Вы можете получить к нему доступ, прочитав основные способы доступа к объектам в объектах JS, например «точечная нотация». Начните с https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_accessors. Или что-то более общее, например https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide. SO на самом деле не ориентирован на предоставление учебников или элементарных методов - вам нужно будет найти другие способы получить это знание. –

+0

Большое вам спасибо за помощь! –

ответ

1

доступ к элементу по индексу 0 массива с помощью квадратных скобок, а затем получить доступ к имени свойства Name объекта с помощью точки или квадратных скобок

var arr = [ 
    {Name: "Jason", 
    Title: "Student", 
    Image: "asdf", 
    Status: "Happy"} 
]; 

var name = arr[0].Name; // alternatively, `arr[0]["Name"]` 
+0

Почему это было приостановлено? это правильный ответ с правильным объяснением. – synthet1c

+1

Это правильный ответ на вопрос, который явно не подходит для SO. Мы не должны поощрять людей использовать SO как замену лучшим способам изучения элементарных понятий, которые описаны на первой странице любого учебника. На большинство основных вопросов уже был дан ответ, поэтому их можно закрыть как дубликаты, чтобы не загромождать сайт, но этот - это ** SO ** basic, который никто, по-видимому, никогда не думал об этом раньше. Если вы собираетесь ответить на вопрос, по крайней мере, вы должны указать OP на хорошие учебные ресурсы, поскольку он, очевидно, еще не нашел их. –

+0

@DerekFu См. [Точечная запись] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors#Dot_notation), [Обозначение скобок] (https: //developer.mozilla .org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors # Bracket_notation) – guest271314

0
var arr = [ 
    {Name: "Jason", 
    Title: "Student", 
    Image: "asdf", 
    Status: "Happy"} 
]; 
var myname = arr[0]['Name']; 
console.log(myname); 
3

Тест:

var [{Name: name}] = arr; 

Используется ES6 destructuring assignment.

Во-первых, внешний [] - это способ обращения к массиву с правой стороны (в этом примере arr). Вещи, помещенные в эти квадратные скобки (здесь есть только один), относятся к первому, второму и следующему значению этого массива. Итак, здесь часть {Name: name} относится к первому (0-му) элементу массива. Другими словами, это эквивалентно

var {Name: name} = arr[0]; 

Внутренний {} является способ обращения к объектам и собирание их друг от друга. {Name: name} говорит, чтобы найти свойство Name выбранного объекта. Затем часть : name говорит, чтобы переименовать ее в name. Так как все это происходит в контексте оператора var, результат объявляет новую переменную с именем name и присваивает значение, выделенное ему.

Вот более подробная последовательность:

var   // Start a variable declaration 
    [   // Pick apart an array on the RHS, starting with 1st element 
    {   // Pick apart an object 
     Name  // Find the property named `Name` in that object 
     :name // Rename it; this is the variable that will be declared! 
    }   // Done picking apart the object 
    ]   // Done picking apart the array 
    = arr;  // Specify the thing to deconstruct 
+0

Новым для этого будет возвращен массив одного элемента? – Monah

+1

@HadiHassan Нет, он объявит переменную 'name' со значением из' arr [0] .Name'. –