如何从数组中的对象访问值?

时间:2016-10-02 05:56:35

标签: javascript arrays json object

如何访问Name的值并将其分配给变量?

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

3 个答案:

答案 0 :(得分:3)

试试这个:

var [{Name: name}] = arr;

这使用ES6 destructuring assignment

首先,最外面的[]是一种引用右侧数组的方式(在本例中为arr)。放在这些方括号内的东西(这里只有一个)指的是该数组的第一个,第二个和后续值。所以这里,{Name: name}部分指的是数组的第一个(第0个)元素。换句话说,它相当于

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

内部{}是一种引用对象并将它们分开的方式。 {Name: name}表示要查找被拆分对象的Name属性。然后,: name部分会将其重命名为name。由于所有这些都发生在var语句的上下文中,结果是声明一个名为name的新变量,并将选择的值指定给它。< / p>

以下是更详细的序列:

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

答案 1 :(得分:1)

使用括号表示法访问数组索引0处的元素,然后使用点或括号表示法访问对象的属性名Name

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

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

答案 2 :(得分:0)

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