JavaScript中有哪些内置可迭代对象?全面分析

JS内置可迭代对象有哪些?完整解析

JS内置可迭代对象有哪些?完整解析,需要具体代码示例

在JavaScript中,可迭代对象指的是可以使用迭代器访问其元素的对象。在ES6之后,许多内置的数据结构都实现了可迭代协议,可以通过for…of循环或使用迭代器对象进行遍历。

以下是JS中常见的可迭代对象:

  1. 数组(Array):

数组是最常见的可迭代对象。我们可以使用for…of循环或使用迭代器对象iterator来遍历数组中的元素。下面是一个数组对象的示例:

const arr = [1, 2, 3, 4];
// 使用for...of循环遍历
for (let item of arr) {
console.log(item);
}
// 使用迭代器对象遍历
const iterator = arr[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}
  1. 字符串(String):

字符串也是可迭代对象,我们可以直接使用for…of循环或使用迭代器对象来遍历字符串中的每个字符。

const str = 'Hello World';
// 使用for...of循环遍历
for (let char of str) {
console.log(char);
}
// 使用迭代器对象遍历
const iterator = str[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}
  1. 类数组对象(Arguments):

Arguments对象是一个类数组对象,它包含了函数调用时传递给函数的参数列表。它也是可迭代对象,因此可以使用for…of循环来遍历其中的每个参数。

function sum() {
for (let arg of arguments) {
console.log(arg);
}
}
sum(1, 2, 3, 4);
  1. Set和Map:

Set和Map是ES6引入的新数据结构,它们也是可迭代对象,可以使用for…of循环或使用迭代器对象遍历其元素。

const set = new Set([1, 2, 3]);
// 使用for...of循环遍历Set中的元素
for (let item of set) {
console.log(item);
}
// 使用迭代器对象遍历Set中的元素
const iterator = set[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}
const map = new Map([
['name', 'John'],
['age', 25]
]);
// 使用for...of循环遍历Map中的元素
for (let [key, value] of map) {
console.log(key, value);
}
// 使用迭代器对象遍历Map中的元素
const iterator = map[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}
  1. Generator对象:

Generator是一种特殊的函数,可以通过yield关键字实现暂停和恢复执行过程。Generator对象也是可迭代对象,可以使用for…of循环或使用迭代器对象进行遍历。

function* generatorFunc() {
yield 1;
yield 2;
yield 3;
}
const generator = generatorFunc();
// 使用for...of循环遍历Generator中的元素
for (let item of generator) {
console.log(item);
}
// 使用迭代器对象遍历Generator中的元素
const iterator = generator[Symbol.iterator]();
let result = iterator.next();
while (!result.done) {
console.log(result.value);
result = iterator.next();
}

总结:以上是JavaScript中常见的内置可迭代对象,它们都可以通过for…of循环或使用迭代器对象进行遍历。通过了解这些可迭代对象,我们可以更好地使用它们提供的特性和功能。

原文来自:www.php.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容