有几个循环子句用于按以下方式迭代 JavaScript 对象。
for-in 循环遍历 JavaScript 对象
for-in 语句是一个循环,用于使用通配符对迭代 JavaScript 对象。 此循环迭代 JavaScript 对象的所有元素。
使用 for-in 循环循环 JavaScript 对象的示例代码如下。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"}
for(var city in Cities)
{
console.log(city,":",Cities[city]);
}
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
使用 for-in 循环时,我们不需要使用任何特殊函数来迭代或循环对象。
使用 for-of 循环遍历 JavaScript 对象
for-of 语句也是一个循环,它迭代不带通配符对的可迭代对象。 我们还可以使用此循环来迭代带有通配符对的 JavaScript 对象,但使用一些特殊函数,如下所示。
对象.getOwnPropertyNames
此方法返回一个字段,其中包含存储在对象中的所有通配符对。 另外,为了迭代 JavaScript 对象的所有通配符对,我们需要将这个技巧与 for-of 循环结合使用。
使用for-of和Object.getOwnPropertyNames()循环迭代对象的示例代码如下。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
for(var city of Object.getOwnPropertyNames(Cities))
{
const CityName = Cities[city];
console.log(city,":",CityName);
}
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
对象.条目
此方法返回对象通配符对的字段。 另外,如果我们想要迭代键和值,我们需要使用 for-of 循环的方法来循环 JavaScript 对象。
使用 for-of 和 Object.entry() 循环迭代对象的示例代码如下。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
for(var [city,CityName] of Object.entries(Cities))
{
console.log(city,":",CityName);
}
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
对象.keys
该方法返回对象的关键字段。 如果我们想要迭代对象的通配符对,我们需要将此函数与 for-of 循环一起使用。
使用 for-of 和 Object.keys() 循环迭代对象的示例代码如下。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
for(var city of Object.keys(Cities))
{
console.log(city,":",cities[city]);
}
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
Reflect.ownKeys
此方法还返回对象的通配符。 如果我们想要迭代对象的通配符对,我们需要将此函数与 for-of 循环一起使用。
使用for-of和Reflect.ownKeys循环迭代对象的示例代码如下。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
for(var city of Reflect.ownKeys(Cities))
{
console.log(city,":",cities[city]);
}
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
使用 forEach 方法循环 JavaScript 对象
forEach 方法充当迭代器,按顺序调用其他方法。 我们可以使用此方法通过使用其他几个函数来迭代对象javascript 数组 循环,这些函数如下。
对象.keys
使用这个技巧和 forEach 方法javascript 数组 循环,我们可以迭代对象的通配符对。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
Object.keys.forEach(city => {console.log(city,":",Cities[city])})
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London
Reflect.ownKeys
使用这个技巧和 forEach 方法,我们可以迭代对象的通配符对。
var Cities = {City1:"Tokyo",City2:"Paris",City3:"Dubai",City3:"Rome",City4:"London"};
Reflect.ownKeys.forEach(city => {console.log(city,":",Cities[city])})
输出:
City1 : Tokyo
City2 : Paris
City3 : Dubai
City4 : Rome
City5 : London