suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So ändern Sie die verschachtelten JSON-Array-Eigenschaften „project_id“ und „project_name“

Frage:

[
{
"project_id": 1,
"project_name": "CDP",
"role": "PL"
},
{
"project_id": 2,
"project_name": "Admincer",
"role": "PM"
},

Ich möchte eine Methode verwenden, um das Attribut „project_id“ aus den oben genannten drei Attributen zu einem anderen Array hinzuzufügen.

Meine Gedanken sind: 1. Erstens, wenn ich das „project_id“-Attribut dieses Arrays in das zweite verschachtelte JSON-Array kopieren könnte, wäre das in Ordnung.

Was ich gefunden habe:

const obj = {
"project_id": 1,
"project_name": "CDP",
"role": "PL"
};;
const objCopy = {
"start_time": "09:00:00",
"end_time": "18:00:00",
"rest_time": "01:00:00",
"worked_time": "08:00:00",
"is_wfh": true,
"id": 1, 1,
"work_day_id": 45,
"time_cards": [
{
... obj
}
]
};;
console.log (objCopy);

Ich habe herausgefunden, dass ich es so reproduzieren kann. Ich habe den obigen Code in der Chrome-Konsole ausprobiert. Das Array wird kopiert, aber das gesamte Objekt wird kopiert. Ich möchte nur das Attribut von project_id kopieren.

Ich möchte in diesem Array eine neue Eigenschaft namens „prj_name“ erstellen und nur diese Eigenschaft in Vuetify anzeigen.

async fetchWorkerTimeCard() {
  try {
    this.worker_data = [] 
    await this.$axios.$get('/worker_time_card', {
      params: {
        work_date: this.calendarVal
      }
    }).then(data => {
      this.worker_data = data
    })
    var projects = await this.fetch_worker_projects()
    console.log(projects)
  } catch (error) {
    console.log(error)
    this.worker_data = []
  }
},
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.5/vue.js"></script>
<v-card>
  <v-data-table v-if="worker_data.time_cards" :headers="headers2" :items="worker_data.time_cards"></v-data-table>
</v-card>

P粉794851975P粉794851975225 Tage vor591

Antworte allen(1)Ich werde antworten

  • P粉990008428

    P粉9900084282024-04-07 14:53:33

    您可以像 JS 中的任何其他对象一样简单地更改对象数据。

    const obj = {
      "project_id": 1,
      "project_name": "CDP",
      "role": "PL"
    };
    
    const objCopy = {
      "start_time": "09:00:00",
      "end_time": "18:00:00",
      "rest_time": "01:00:00",
      "worked_time": "08:00:00",
      "is_wfh": true,
      "id": 1,
      "work_day_id": 45
    }
    
    console.log({...obj, ...objCopy})

    这将创建 1 个合并的对象。

    或者,如果您只想 project_id 值,则只需将其更改为:

    objCopy.project_id = obj.project_id

    Antwort
    0
  • StornierenAntwort