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

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

我试了一下:

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

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


当前回答

使用过滤器查找数组中的第一个元素:

在打字稿:

function first<T>(arr: T[], filter: (v: T) => boolean): T {
    let result: T;
    return arr.some(v => { result = v; return filter(v); }) ? result : undefined;
}

在纯javascript中:

function first(arr, filter) {
    var result;
    return arr.some(function (v) { result = v; return filter(v); }) ? result : undefined;
}

类似地,indexOf:

在打字稿:

function indexOf<T>(arr: T[], filter: (v: T) => boolean): number {
    let result: number;
    return arr.some((v, i) => { result = i; return filter(v); }) ? result : undefined;
}

在纯javascript中:

function indexOf(arr, filter) {
    var result;
    return arr.some(function (v, i) { result = i; return filter(v); }) ? result : undefined;
}

其他回答

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

console.log(Object.keys(ary)[0]);

创建任意对象数组(req),然后简单地执行Object.keys(req)[0]来选择对象数组中的第一个键。

使用ES6。

let arr = [22,1,4,55,7,8,9,3,2,4];

let {0 : first ,[arr.length - 1] : last} = arr;
console.log(first, last);

or

let {0 : first ,length : l, [l - 1] : last} = [22,1,4,55,7,8,9,3,2,4];
console.log(first, last);

在ES2015及以上版本中,使用数组解构:

Const arr = [42, 555, 666, 777] Const [first] = arr console.log(第一个)

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

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

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

当有多个匹配时,JQuery的.first()用于获取与css选择器匹配的第一个DOM元素。

你不需要jQuery来操作javascript数组。