如何从这样的数组中获取第一个元素:
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。
当前回答
使用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);
其他回答
我知道从其他语言学习到JavaScript的人,会寻找head()或first()来获取数组的第一个元素,但你怎么做呢?
假设你有如下数组:
const arr = [1, 2, 3, 4, 5];
在JavaScript中,你可以简单地做:
const first = arr[0];
或者一种更整洁、更新的方式是:
const [first] = arr;
但你也可以简单地写一个函数…
function first(arr) {
if(!Array.isArray(arr)) return;
return arr[0];
}
如果使用下划线,有一个函数列表做相同的事情,你正在寻找:
_.first
_.head
_.take
方法,它适用于数组,也适用于对象(注意,对象没有保证的顺序!)。
我最喜欢这个方法,因为原始数组没有被修改。
// In case of array
var arr = [];
arr[3] = 'first';
arr[7] = 'last';
var firstElement;
for(var i in arr){
firstElement = arr[i];
break;
}
console.log(firstElement); // "first"
// In case of object
var obj = {
first: 'first',
last: 'last',
};
var firstElement;
for(var i in obj){
firstElement = obj[i];
break;
}
console.log(firstElement) // 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;
}
只有在使用underscore.js (http://underscorejs.org/)的情况下,你可以这样做:
_.first(your_array);
如果你想保持可读性,你可以在array . prototype中添加第一个函数:
Array.prototype.first = function () {
return this[0];
};
A,那么你可以很容易地检索第一个元素:
[1, 2, 3].first();
> 1