【发布时间】:2017-08-30 04:14:55
【问题描述】:
首先感谢您对我遇到的这个问题的任何回复。 我是 JS 新手,觉得这段代码应该很简单,但它没有按预期工作。
我想通过名称在数组中搜索这些对象,如果在数组中找到名称(通过提示获得),我想显示该对象的id。
如果我在提示中输入“Jef”,我会得到 ID;但如果我输入“Steve”或“Ryan”,我什么也得不到。我还注意到,无论我在没有添加中断的情况下键入什么内容,循环似乎都会结束。我认为循环正在中断,但我不知道是什么导致它在满足“如果”条件之前中断。请帮忙!
var array = [{
name: 'Jef',
age: 29,
id: '000'
}, {
name: 'Steve',
age: 28,
id: '001'
},
{
name: 'Ryan',
age: 28,
id: '002'
}
];
var i;
for (i = 0; i < array.length; i++) {
if (prompt() == array[i].name) {
console.log(array[i].id)
}
}
【问题讨论】:
-
当您按定义的顺序键入名称时,我会得到所有预期的响应。您是否有理由希望循环提示?循环并没有像你描述的那样结束。
-
也许你在提示窗口中勾选了
Prevent this page from creating additional dialogs复选框?
标签: javascript arrays loops jsobject