在Javascript中从对象检索数组对象

在Javascript中从对象检索数组对象,javascript,Javascript,我想访问电话号码字段 所以我用 var obj={"firstName":"John","lastName":"Smith","isAlive":true,"age":25,"address":{"streetAddress":"21 2nd Street","city":"New York","state":"NY","postalCode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type

我想访问电话号码字段 所以我用

var obj={"firstName":"John","lastName":"Smith","isAlive":true,"age":25,"address":{"streetAddress":"21 2nd Street","city":"New York","state":"NY","postalCode":"10021-3100"},"phoneNumbers":[{"type":"home","number":"212 555-1234"},{"type":"office","number":"646 555-4567"},{"type":"mobile","number":"123 456-7890"}],"children":[],"spouse":null};
我得到一个数组,但没有“phoneNumbers”字段。我想得到如下内容:

phone=obj.phoneNumbers;

您可以将该部分添加到:

{
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    },
    {
      "type": "mobile",
      "number": "123 456-7890"
    }
  ]
}

尽管这样做应该有一个很好的理由(比如,需要将它传递给一个期望正好是“x”的API)。单个属性对象与其单个属性的值一样有用。

然后必须创建一个新对象

var phone = {"phoneNumbers" : obj.phoneNumbers};

制作一个函数并将其用于其他类似用途如何:

var phone = { "phoneNumbers": obj.phoneNumbers };
然后像这样使用它:

function transform (prop, payload) {
  return { [prop]: payload };
}

为什么这会有用呢?因为我的API要求it@Yakov你可以检查我的答案。
phone = transform('phoneNumbers', obj.phoneNumbers);