HOWTO · JavaScript

在 JavaScript 中获取数组的第一个元素

在本文中,我们将学习如何在 JavaScript 中获取数组的第一个元素。

本页内容

JavaScript 数组的索引从 0 开始,因此 array[0] 可以读取第一个元素,且不会改变数组。如果要查找符合某个条件的第一个元素,请使用 find();只有在也要移除第一个元素时,才使用 shift()。

在 JavaScript 中使用 array[0] 获取数组的第一个元素

数组中第一个位置的索引是 0,第二个是 1,依此类推。这个独立示例会读取第一个元素,然后打印数组,让你看到原数组保持不变。

const fruits = ["apple", "banana", "cherry"];
const firstFruit = fruits[0];
console.log(firstFruit);
console.log(fruits);

示例会打印:

apple
[ 'apple', 'banana', 'cherry' ]

如果数组为空,array[0] 的结果是 undefined。如果后续代码依赖这个值,请先检查数组中是否有元素。若要按条件查找,可以使用数组的 find() 方法,而不必自行逐项检查。

在 JavaScript 中使用解构赋值获取数组的第一个元素

数组解构可以将第一个元素绑定到变量。例如,const [firstFruit] = fruits; 读取的值与 fruits[0] 相同,而且不会改变 fruits。如果数组为空,firstFruit 的值就是 undefined。当把一个或多个开头的元素赋给变量能让周围代码更清晰时,可以使用这种写法。

在 JavaScript 中使用 find() 获取第一个匹配的数组元素

当你要查找哪个元素由某个谓词条件决定时,可以使用 find()。它会按顺序检查元素,并返回谓词结果为真值的第一个元素。如果没有元素符合条件,结果就是 undefined;使用结果前请处理这种情况。

例如,const firstLongWord = words.find(word => word.length > 5); 会选出第一个长度超过五个字符的单词。如果不考虑元素的值、只想取第一个元素,直接使用 array[0] 更简单。更多详情请参阅 JavaScript 数组 find 参考。目前没有简体中文版本,因此此链接指向英文参考。

在 JavaScript 中使用 shift() 获取并移除数组的第一个元素

不带参数调用 shift(),即可取出并移除第一个元素。它会返回被移除的值,并改变原数组。如果数组为空,它会返回 undefined。只有确实需要这种修改时才使用此方法;若要读取元素但保持原数组不变,请使用 array[0] 或解构赋值。

为什么通常不使用 filter() 查找第一个匹配项

filter() 会返回一个新数组,其中包含所有符合谓词条件的元素。它会继续遍历数组以收集这些匹配项,因此当你只需要一个结果时,这种做法会进行多余的工作并创建一个数组。要查找第一个匹配项,使用 find() 更清晰,因为它会直接返回该元素,并在找到后停止。

你可以用 matches[0] 读取筛选结果副本中的第一个元素,但只需要一个匹配项时,这个副本并无必要。在该副本上调用 shift() 移除的是副本中的元素,不会影响原数组。只有确实需要所有匹配项时,才使用 filter()。