JavaScript 无法设置 undefined 的属性
JavaScript Cannot set property of undefined
我是一个新手后端开发人员,我的任务是添加一些反应功能,但我完全超出了我的深度。 下面的代码生成异常"无法设置未定义的属性'1'"。 第一个元素是 id:1 和 name:"。 我认为空字符串与我的问题没有任何关系,因为我尝试对字符串进行硬编码并且我得到了同样的异常。
payment_code: {
label: 'Payment Code',
value: 'payment_code',
choices: adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
type: 'choice'
},
我真的不明白这个错误,因为payment_code['id'] 和 payment_code['name'] 不是空或未定义的。 日志语句证实了这一点。 很抱歉这个超级基本的问题,但我已经在谷歌上广泛地搜索了这个问题,这个错误仍然完全没有意义。 同一个类中有类似的函数,它们都有效。 但是,其他方法使用 const 数组,我需要从 db 中提取我的值。
我猜你显示的属性是分配给displayChoices
的一部分,即它是这样的:
displayChoices = {
...
payment_code: {
label: "Payment Code",
value: 'payment_code',
choices: adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
type: 'choice'
},
...
};
问题是,在此语句完成之前,没有displayChoices.payment_code
属性,因此无法分配给displayChoices.payment_code[anything]
。
您应该在完成第一个作业后执行该作业。
displayChoices = {
...
payment_code: {
label: "Payment Code",
value: 'payment_code',
type: 'choice'
},
...
};
displayChoices.choices = adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
看起来displayChoices.payment_code
是未定义的。 displayChoices
已定义,否则它会抱怨为此设置付款代码,因此我会在运行此代码块之前定义displayChoices.payment_code = []
或{}
(取决于您要做什么)。或者你可能正在寻找displayChoices.paymentCodes
,这更像你以前选择的adminSalesStore.paymentCodes
,对我来说更有意义。不确定没有看到更多代码。
- jQuery可以't获取data-*属性值,返回undefined
- Slick jQuery: TypeError 无法读取 undefined 的属性 'unslick'
- 将服务中的函数绑定到$scope(错误:无法设置undefined的属性'onChange')
- 为什么调试器会给你“;undefined不是函数“;而不是只告诉您不是函数的属性/变量的名称
- 访问javascript对象的属性返回undefined,原因是什么
- app.render[TypeError:无法设置undefined的属性'content']在Node
- Google Maps 和 Angular js:TypeError:无法读取 undefined 的属性“触发器”
- jQuery Tablesorter 错误“未捕获的类型错误:无法设置 undefined 的属性'count&
- HTML 自定义属性在 Jquery 中始终返回 undefined
- AngularUI-Bootstrap的Typeahead无法读取“undefined”的“length”属性
- JS:如何返回“undefined”而不是抛出错误“无法读取未定义的属性x”
- .done() 无法读取 undefined 的属性
- findRecord给出错误"无法读取属性'undefined"
- Unslider -不能读取属性'undefined'的定义
- 在updateAttributes id属性undefined到undefined上环回失败
- Angular 2 -示例代码-定义模型属性Undefined
- jQuery多维数组(动态键)-不能设置属性undefined
- CSS with JavaScript -无法读取属性'undefined'错误
- 无法读取属性'undefined'的定义
- 无法读取属性'undefined"当使用AngularJS在谷歌地图上绘制标记时