如何从这样的数组中获取第一个元素:
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'];
console.log(Object.keys(ary)[0]);
创建任意对象数组(req),然后简单地执行Object.keys(req)[0]来选择对象数组中的第一个键。
其他回答
为什么不考虑数组可能为空的时间呢?
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
@thomax的答案很好,但如果数组中的第一个元素为false或false-y(0,空字符串等),则会失败。除了undefined,最好返回true:
const arr = [];
arr[1] = '';
arr[2] = 'foo';
const first = arr.find((v) => { return (typeof v !== 'undefined'); });
console.log(first); // ''
如果你将一个视图函数链接到数组,例如。
阵列。地图(i => i+1)。过滤器(i => i > 3)
想要在这些函数之后的第一个元素,你可以简单地添加。shift()它不会修改原始数组,这比数组更好。映射(i => i+1)。过滤器(=> I > 3)[0]
如果你想要一个数组的第一个元素而不修改原始元素,你可以使用array[0]或array.map(n=>n).shift()(没有映射,你将修改原始元素。顺便说一句,在这种情况下,我建议…[0]版本。
你也可以使用.get(0):
alert($(ary).first().get(0));
来获取数组的第一个元素。
如果你想保持可读性,你可以在array . prototype中添加第一个函数:
Array.prototype.first = function () {
return this[0];
};
A,那么你可以很容易地检索第一个元素:
[1, 2, 3].first();
> 1