如何从这样的数组中获取第一个元素:

var ary = ['first', 'second', 'third', 'fourth', 'fifth'];

我试了一下:

alert($(ary).first());

但它会返回[object object]。所以我需要从数组中获取第一个元素它应该是元素first。


当前回答

ES6扩展运算符+ .shift()解决方案

使用myArray.shift()可以获得数组的第一个元素,但.shift()将修改原始数组,因此为了避免这种情况,首先可以使用[…]创建一个数组的副本。myArray],然后应用.shift()到这个副本:

var myArray = ['first', 'second', 'third', 'fourth', 'fifth']; var first =[…myArray].shift(); console.log(第一);

其他回答

如果你将一个视图函数链接到数组,例如。

阵列。地图(i => i+1)。过滤器(i => i > 3)

想要在这些函数之后的第一个元素,你可以简单地添加。shift()它不会修改原始数组,这比数组更好。映射(i => i+1)。过滤器(=> I > 3)[0]

如果你想要一个数组的第一个元素而不修改原始元素,你可以使用array[0]或array.map(n=>n).shift()(没有映射,你将修改原始元素。顺便说一句,在这种情况下,我建议…[0]版本。

@NicoLwk你应该用splice删除元素,这会把你的数组移回来。所以:

var a=['a','b','c'];
a.splice(0,1);
for(var i in a){console.log(i+' '+a[i]);}

为什么不考虑数组可能为空的时间呢?

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

我更喜欢使用数组解构

const [first, second, third] = ["Laide", "Gabriel", "Jets"];
console.log(first);  // Output: Laide
console.log(second); // Output: Gabriel
console.log(third);  // Output: Jets

另一个是给那些只关心真相的人的

ary.find(Boolean);