我们在联系人列表中有一组表示不同人的对象。我们有一个 lookUpProfile 函数,它将 name 作为参数。该函数应检查姓名是否为实际联系人的名字。它将在控制台上打印联系人姓名,如果姓名与联系人的名字匹配,则为 true,否则,它将打印 false。
我想让我的while循环遍历数组,直到nameCheck等于true或者我的长度大于contact length(也就是它到达数组的末尾)。
在我的while循环(nameCheck == false || i
我知道你可以用for循环来实现同样的结果,我已经做到了。但是为了学习,我想知道为什么我的while循环不起作用。
提前非常感谢你。
const contacts = [
{
firstName: "Akira",
lastName: "Laine",
likes: ["Pizza", "Coding", "Brownie Points"],
},
{
firstName: "Harry",
lastName: "Potter",
likes: ["Hogwarts", "Magic", "Hagrid"],
},
{
firstName: "Sherlock",
lastName: "Holmes",
likes: ["Intriguing Cases", "Violin"],
},
];
function lookUpProfile(name) {
var nameCheck = false;
console.log(nameCheck);
var i= 0;
console.log (i);
while (nameCheck == false || i < contacts.length){
var nameOnContacts = contacts[i].firstName;
console.log(nameOnContacts);
nameCheck = nameOnContacts === name;
console.log(nameCheck);
i++;
console.log(i);
};
};
lookUpProfile("Akira");
控制台输出:
›
false
›
0
›
Akira
›
true
›
1
›
Harry
›
false
›
2
›
Sherlock
›
false
›
3
›
TypeError: contacts[i] is undefined (/index.js:28)
/index.html
只需添加一点附加信息。Douglas Crockford在他的书《Javascript:好的部分》中提出,使用身份运算符总是更好(以避免歧义)。换句话说,最好使用“==”而不是“==”
https://medium.com/@ludico8/identity-vs-equality-battle-of-understanding-vs-758d396e922
而
循环,只要条件为真。对于逻辑 OR(||
),只需满足其中一个条件即可继续循环。您需要逻辑 AND (
const contacts = [
{
firstName: "Akira",
lastName: "Laine",
likes: ["Pizza", "Coding", "Brownie Points"],
},
{
firstName: "Harry",
lastName: "Potter",
likes: ["Hogwarts", "Magic", "Hagrid"],
},
{
firstName: "Sherlock",
lastName: "Holmes",
likes: ["Intriguing Cases", "Violin"],
},
];
function lookUpProfile(name) {
var nameCheck = false;
console.log(nameCheck);
var i= 0;
console.log (i);
while (nameCheck == false && i < contacts.length){
var nameOnContacts = contacts[i].firstName;
console.log(nameOnContacts);
nameCheck = nameOnContacts === name;
console.log(nameCheck);
i++;
console.log(i);
};
};
lookUpProfile("Akira");
问题内容: 我试图通过一次添加一天来遍历while循环,但它甚至第一次都不会访问while循环。while循环中的条件正确吗?当我测试它时,它仅在一种情况下起作用,但在我添加第二种条件时停止了。 问题答案: 它应该是
问题内容: 我已经编写了一个包含循环的“ Hangman”游戏,不断询问用户字母,直到他们解决单词或耗尽生命。奇怪的是,在满足条件时循环不会停止。 这是包含循环的游戏逻辑的实现: 可变结果是从方法中获取返回值。这是实现。 难道是我返回导致循环不断循环的值的方式吗?我这样声明了这些值: 问题答案: 逻辑上,根据德摩根定律, 是相同的 这永远是一个真实的表达。 条件可能应该是 当应用与上述相同的法律时
我希望当用户的输入是非整数值、小于1的整数值或大于3的整数值时执行time循环。一旦输入有效,我将使用它。但是,循环仅在用户输入非整数值时起作用。我已经检查了逻辑,我仍然不确定出了什么问题。 代码:
问题内容: 我在搜索“如何在for循环中提供多个条件?” 但是没有给出直接答案。 经过一番研究,我找到了正确的方法。条件不得以逗号(,)或分号(;)分隔。我们可以使用&&运算符将两个条件结合在一起。 for(初始化; condition1 && condition2;增量) 例: 希望这对新的Java开发人员有所帮助。 问题答案: 您还可以使用“或”运算符,
我有5个独立的docker图像:1个用于kafka经纪人,1个动物园管理员,1个生产者和2个消费者。我通过生产者向主题发布消息。基本上,我希望消息将在循环算法中使用,因此,为此,我使用相同的< code>group.id定义了消费者,并将< code > partition . assignment . strategy 的配置添加为< code > org . Apache . Kafka .
我需要两种while循环的帮助。