尝试使用 JavaScript 在 Python 中复制隐式迭代器,尽管我是男性,但我的代码不会返回“Dylan”。
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)
>>> [code] 返回 --> ["Alex", "John"]
为什么是这样?我的循环遍历所有值,并且我的 if then 语句有效。