[英]How to push object to key array javascript?
我有一個這樣的對象:
var newService = new Service({
name: service.name,
description: service.description,
supplier: service.supplier,
price: service.price,
info_requires: []
});
這是模態Service
var serviceSchema = new Schema({
name: String,
description: String,
supplier: String,
price: Number,
info_requires: [{
name: String,
type: Number, // 1-text 2-combobox 3-textarea
limit: []
}],
});
這是我的數據:
var services = [{ name: "Test", description: "Des", supplier: "Sup", price: 123, icon: "icon", type: 1, open: 1, info_requires: [ { name: "Age", type: 1, limit: [] }, { name: "Bla bla", type: 1, limit: [] } ] }]
我像這樣將數據推送到info_requires[]
:
newService.info_requires.push(service.info_requires[i])
要么
newService.info_requires[i].name = (service.info_requires[i].name)
但它無法正常工作並顯示以下錯誤: Cannot set property 'name' of undefined
Cannot set property 'name' of undefined
? 我做錯了嗎?
如果“服務”是您創建的自定義對象,則可以解決問題
var service ={
name: "",
description: "",
supplier: "",
price: "",
info_requires: []
};
service.info_requires.push(some_object);
new Service(service);
檢查鍵是否首先存在,如果不存在,請為鍵創建數組/對象,例如
if (newService.info_requires === undefined) {
newService.info_requires = [];
}
newService.info_requires.push(service.info_requires[i]);
類似的
if (newService.info_requires[i] === undefined) {
newService.info_requires[i] = {};
}
newService.info_requires[i].name = (service.info_requires[i].name);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.