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

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

我试了一下:

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

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


当前回答

如果你的数组不能保证从索引0填充,你可以使用array .prototype.find():

var elements = []
elements[1] = 'foo'
elements[2] = 'bar'

var first = function(element) { return !!element }    
var gotcha = elements.find(first)

console.log(a[0]) // undefined
console.log(gotcha) // 'foo'

其他回答

ES6 简单:

let a = []
a[7] = 'A'
a[10] = 'B'

let firstValue = a.find(v => v)
let firstIndex = a.findIndex(v => v)

如果你的数组不能保证从索引0填充,你可以使用array .prototype.find():

var elements = []
elements[1] = 'foo'
elements[2] = 'bar'

var first = function(element) { return !!element }    
var gotcha = elements.find(first)

console.log(a[0]) // undefined
console.log(gotcha) // 'foo'

像这样

alert(ary[0])

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

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

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

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

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];