問題:
[
{
"project_id": 1,
"project_name": "CDP",
"role": "PL"
},
{
"project_id": 2,
"project_name": "Admincer",
"role": "PM"
},
我想使用某種方法將上述三個屬性中的「project_id」屬性加入到另一個陣列中。
我的想法是: 1.首先,如果我可以將此數組的「project_id」屬性複製到第二個嵌套 JSON 數組,那就可以了。
我查到的內容:
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);
我發現我可以這樣複製它。 我在 Chrome 控制台中嘗試了上面的程式碼。 數組被複製,但整個物件被複製。我只想複製project_id的屬性。
我想在此陣列中建立一個名為「prj_name」的新屬性,並在 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>
您可以像 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 值,則只需將其變更為: