Cara menukar sifat tatasusunan bersarang JSON "id_projek" dan "nama_projek"
P粉794851975
P粉794851975 2024-04-06 15:39:51
0
1
603

Soalan:

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

Saya ingin menggunakan beberapa kaedah untuk menambah atribut "project_id" daripada tiga atribut di atas kepada tatasusunan lain.

Pemikiran saya ialah: 1. Pertama, jika saya boleh menyalin atribut "project_id" tatasusunan ini ke tatasusunan JSON bersarang kedua, itu tidak mengapa.

Apa yang saya temui:

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);

Saya dapati saya boleh menirunya seperti ini. Saya mencuba kod di atas dalam konsol Chrome. Tatasusunan disalin, tetapi keseluruhan objek disalin. Saya hanya mahu menyalin atribut project_id.

Saya ingin mencipta sifat baharu yang dipanggil "prj_name" dalam tatasusunan ini dan memaparkan hanya harta itu dalam Vuetify.

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粉794851975
P粉794851975

membalas semua(1)
P粉990008428

Anda hanya boleh menukar data objek seperti objek lain dalam 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})

Ini akan mencipta 1 objek digabungkan.

Atau jika anda hanya mahukan nilai project_id, tukar sahaja kepada:

objCopy.project_id = obj.project_id
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan