試圖複製在Python中隱迭代器,使用JavaScript我的代碼,不返回「迪倫」儘管是一個男性。爲什麼不能正確解析這個對象?
的Python:
names = [person.name for person in roster if person.male]
JavaScript的算法測試:
roster = {
person: [
{
name: "Katie",
male: false
},
{
name: "Dylan",
male: true
},
{
name: "Alex",
male: true
},
{
name: "John",
male: true
}
]
}
var names = []
var number = -1
for(var loop = 0; loop < roster.person.length; loop++) {
if(roster.person[loop].male == true) {
names[number++] = roster.person[loop].name
}
}
console.info(names)
>>> [代碼]返回 - > [ 「亞歷克斯」, 「約翰」]
爲什麼這是?我的循環遍歷所有的值,我的if語句是有效的。
你缺少一個分號兄弟(不是說是你的問題雖然) – Hubro
分號不是在默認情況下,在JavaScript中每行的端所需。 – railgun
信任隱式分號插入是一個致命的罪過。始終使用分號。 – Hubro