我只是很困惑js中的forin循环是如何使用的以及为什么我们在其中使用const关键字

问题描述 投票:0回答:0

我有一个名为 user 的对象,其中一个属性是技能,我试图找到一个拥有最大数量的用户。技能。

let maximum = 0;
let name;
for (const user in users) {
    const len = users[user].skills.length;
    if (len > maximum) {
        maximum = len;
        name = user;
    }
    console.log(maximum, user);
}
console.log(maximum, name);
OUTPUT:
3 'Alex'
8 'Asab'
8 'Brook'
8 'Daniel'
8 'John'
8 'Thomas'
8 'Paul'
8 'Asab'

我的疑问是为什么我们在第三行的 user 旁边使用 const 关键字。我尝试使用此循环而不指定任何数据类型,输出为:

let maximum = 0;
let name;
for(user in users){
    const len = users[user].skills.length;
    if(len > maximum) {
        maximum = len;
        name = user;
    }
    console.log(maximum,user);
}
console.log(maximum,user);
OUTPUT:
3 'Alex'
8 'Asab'
8 'Brook'
8 'Daniel'
8 'John'
8 'Thomas'
8 'Paul'
8 'Paul'

当我不使用任何数据类型时,我不知道为什么,但它会自行更改名称变量。

javascript javascript-objects for-in-loop
© www.soinside.com 2019 - 2024. All rights reserved.