如何从这样的数组中获取第一个元素:
var ary = ['first', 'second', 'third', 'fourth', 'fifth'];
我试了一下:
alert($(ary).first());
但它会返回[object object]。所以我需要从数组中获取第一个元素它应该是元素first。
如何从这样的数组中获取第一个元素:
var ary = ['first', 'second', 'third', 'fourth', 'fifth'];
我试了一下:
alert($(ary).first());
但它会返回[object object]。所以我需要从数组中获取第一个元素它应该是元素first。
当前回答
为什么不考虑数组可能为空的时间呢?
var ary = ['first', 'second', 'third', 'fourth', 'fifth'];
first = (array) => array.length ? array[0] : 'no items';
first(ary)
// output: first
var ary = [];
first(ary)
// output: no items
其他回答
在ES2015及以上版本中,使用数组解构:
Const arr = [42, 555, 666, 777] Const [first] = arr console.log(第一个)
你也可以使用.get(0):
alert($(ary).first().get(0));
来获取数组的第一个元素。
尝试警报(ary[0]);。
其他答案的问题是,许多答案不能处理数组为空或未定义的情况,而能够处理这个问题的答案要么很难读取,要么需要使用库。
我能想到的最干净的纯JavaScript方法是使用可选的链接和三元操作符:
Const first = array?长度呢?数组[0]:undefined
如果你需要支持旧的浏览器,你也可以在没有可选的链接的情况下这样做:
Const first = array && array。长度呢?数组[0]:undefined
这样做的另一个好处是,如果你需要返回一个非undefined的值(例如在React组件中返回null),你可以很容易地更新代码来做到这一点。
我知道从其他语言学习到JavaScript的人,会寻找head()或first()来获取数组的第一个元素,但你怎么做呢?
假设你有如下数组:
const arr = [1, 2, 3, 4, 5];
在JavaScript中,你可以简单地做:
const first = arr[0];
或者一种更整洁、更新的方式是:
const [first] = arr;
但你也可以简单地写一个函数…
function first(arr) {
if(!Array.isArray(arr)) return;
return arr[0];
}
如果使用下划线,有一个函数列表做相同的事情,你正在寻找:
_.first
_.head
_.take