オブジェクトの配列内のオブジェクトのプロパティの名前を変更します

ジム・ドーバー:

私は、以下の構造を有します:

const data = {
    invoices: [
        {
            Date: "2018-12-18T00:00:00.000Z",
            InvoiceNumber: "59"
        },
        {
            Date: "2018-12-18T00:00:00.000Z",
            InvoiceNumber: "59"
        }
    ]
};

私はCreditNoteNumberにInvoiceNumberのすべてのインスタンスは、私に次のことを与えることを再名に欠けています:

const data = {
    invoices: [
        {
            Date: "2018-12-18T00:00:00.000Z",
            CreditNoteNumber: "59"
        },
        {
            Date: "2018-12-18T00:00:00.000Z",
            CreditNoteNumber: "59"
        }
    ]
};

私は、例えば以下のような様々なものを試してみました:

var changed = data.invoices.map(function(item) {
    return {
        ...data.invoices,
        CreditNoteNumber: item.InvoiceNumber
    };
});

しかし、スプレッドは対象外CreditNoteNumberをプッシュします。

sdgluck:

JavaScriptでプロパティを「名前の変更」というような操作はありません。

あなたは、もはや維持したいプロパティを削除する必要があります。

const data = {
  invoices: [
    {
      Date: "2018-12-18T00:00:00.000Z",
      InvoiceNumber: "59"
    },
    {
      Date: "2018-12-18T00:00:00.000Z",
      InvoiceNumber: "59"
    }
  ]
};

const changed = data.invoices.map(item => {
  const obj = {
    ...item,
    CreditNoteNumber: item.InvoiceNumber
  };
  delete obj.InvoiceNumber
  return obj
});

console.log(changed)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=7720&siteId=1