jquery 错误未捕获的类型错误:无法读取未定义的属性“length”
2016-08-27
552
我正在学习 JavaScript 教程。我必须显示数组的长度,但在调用时我收到上述错误。
var bio = {
"portfolio": [
{
"name": "Sambit Mishra",
"role": "Frontend Web Developer",
"contacts": {
"mobile": "+91-8888888888",
"email": "[email protected]"
},
"skills": ["Awesome ", "Frontend Design ", "Javascript ", "Python "],
"message": "Have a great day ahead."
}
]}
if(bio["skills"].length > 0) {
$("#header").append(HTMLskillsStart);
var formattedSkill = HTMLskills.replace("%data%", bio.skills[0]);
$("#skills").append(formattedSkill);
formattedSkill = HTMLskills.replace("%data%", bio.skills[1]);
$("#skills").append(formattedSkill);
formattedSkill = HTMLskills.replace("%data%", bio.skills[2]);
$("#skills").append(formattedSkill);
formattedSkill = HTMLskills.replace("%data%", bio.skills[3]);
$("#skills").append(formattedSkill);}
我在这里推断 bio["skills"] 的长度属性显示为未定义。我们将不胜感激。谢谢。
3个回答
您的路径错误。对象的第一代中没有属性
skills
。相反,路径似乎是:
bio.portfolio[0].skills
或者,如果您愿意
bio['portfolio'][0]['skills']
Mitya
2016-08-27
错误消息意味着
bio["skillls"]
不存在。我猜
bio.portfolio[0].skills.length
就是你想要的。
portfolio
是对象
bio
的一个属性,其值是一个数组。该数组的第一个元素是一个具有属性
skills
的对象。该属性的值是一个数组,因此具有长度。
mm759
2016-08-27
使用此
bio.portfolio[0]['skills'].length
或
bio.portfolio[0].skills.length
rathen 然后
bio["skills"]
Kumar Rakesh
2016-08-27