有人可以解释一下这段代码背后的过程吗?查找arrayList中的最小数字

问题描述 投票:-1回答:1

作为一个完整的初学者,我试图理解这段代码的结果。令我困惑的是: if (minAge > people[i].age) { minAge = people[i].age; youngestPersonsName = people[i].name;

我是如何理解这一点的,如果John:31大于约瑟夫:30(真实陈述),那么John:31被分配给minAge?

在我的脑海中,约翰是因为他的年龄>而不是其他人的结果!

var people = [
    {
        name: "John",
        age: 31
    },
    {
        name: "Joseph",
        age: 30
    },
    {
        name: "Mary",
        age: 19
    }
];

var youngestPersonsName = people[0].name;
var minAge = people[0].age;

for (var i = 0; i < people.length; i++) {
    if (minAge > people[i].age) {
        minAge = people[i].age;
        youngestPersonsName = people[i].name;
    }
}

console.log("The youngest person is" + youngestPersonsName);
javascript arrays arraylist
1个回答
0
投票

算法只循环遍历所有条目,检查全局minAge是否大于循环的当前项(意味着循环项比全局minAge更年轻)。如果是这种情况,则minAge被该元素替换......在循环结束时,Mary应该是结果。在你的情况下,从索引0开始的循环没有用,因为你已经将它指定为最年轻的。在循环之前。

© www.soinside.com 2019 - 2024. All rights reserved.