跳到主要内容

JavaScript 数组的 entries() 方法详解

entries()方法返回一个新的数组迭代器对象,包含每个数组索引的键/值对。

示例

// 定义名为alphabets的数组
const alphabets = ["A", "B", "C"];

// 包含数组中每个索引的键值对的数组迭代器对象
let iterator = alphabets.entries();

// 迭代数组中的键值对
for (let entry of iterator) {
console.log(entry);
}

// 输出:
// [ 0, 'A' ]
// [ 1, 'B' ]
// [ 2, 'C' ]

entries()语法

entries()方法的语法是:

arr.entries();

这里,arr是一个数组。

entries()参数

entries()方法不接受任何参数。

entries()返回值

  • 返回一个新的Array迭代器对象。

注意entries()方法不会更改原始数组。

示例1:使用entries()方法

// 定义一个数组
const languages = ["Java", "C", "C++", "Python"];

// 包含数组中每个索引的键值对的数组迭代器对象
let iterator = languages.entries();

// 循环遍历数组中的键值对
for (let entry of iterator) {
console.log(entry);
}

输出

[0, "Java"][(1, "C")][(2, "C++")][(3, "Python")];

在上面的示例中,我们使用entries()方法获取语言数组中每个索引的键/值对的数组迭代器对象。

然后我们遍历迭代器,打印出每个索引的键/值对。

示例2:在数组迭代器对象中使用next()方法

数组迭代器对象有一个内置方法叫做next(),用来获取对象中的下一个值。

不是遍历迭代器,我们可以使用next().value来获取键值对。例如:

// 定义一个数组
const symbols = ["#", "$", "*"];

// 包含键/值对的数组迭代器对象
let iterator = symbols.entries();

// 在数组迭代器对象中使用内置的next()方法
console.log(iterator.next().value);
console.log(iterator.next().value);
console.log(iterator.next().value);

输出

[0, "#"][(1, "$")][(2, "*")];

推荐阅读: JavaScript数组keys()方法