【发布时间】:2012-08-28 00:25:00
【问题描述】:
尝试使用 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 语句是有效的。
【问题讨论】:
-
你少了一个分号兄弟(虽然不是说这是你的问题)
-
javascript中默认情况下每行末尾不需要分号。
-
相信隐式分号插入是一种致命的罪过。始终使用分号。
-
@Codemonkey,irrelevantnowadays
-
我从您的问题中删除了“json”,因为它与 JSON 无关。
标签: javascript algorithm iterator