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

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

我试了一下:

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

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


当前回答

你也可以使用.get(0):

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

来获取数组的第一个元素。

其他回答

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

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

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

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

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

其他答案的问题是,许多答案不能处理数组为空或未定义的情况,而能够处理这个问题的答案要么很难读取,要么需要使用库。

我能想到的最干净的纯JavaScript方法是使用可选的链接和三元操作符:

Const first = array?长度呢?数组[0]:undefined

如果你需要支持旧的浏览器,你也可以在没有可选的链接的情况下这样做:

Const first = array && array。长度呢?数组[0]:undefined

这样做的另一个好处是,如果你需要返回一个非undefined的值(例如在React组件中返回null),你可以很容易地更新代码来做到这一点。

当数组下标从0开始时,前面的示例工作得很好。thomax的答案并不依赖于从0开始的索引,而是依赖于我没有访问权限的Array.prototype.find。下面的解决方案使用jQuery $。对我来说,每一种都很有效。

let haystack = {100: 'first', 150: 'second'},
    found = null;

$.each(haystack, function( index, value ) {
    found = value;  // Save the first array element for later.
    return false;  // Immediately stop the $.each loop after the first array element.
});

console.log(found); // Prints 'first'.

声明一个原型来获取第一个数组元素:

Array.prototype.first = function () {
   return this[0];
};

然后把它用作:

var array = [0, 1, 2, 3];
var first = array.first();
var _first = [0, 1, 2, 3].first();

或者简单地说(:

first = array[0];