如何从这样的数组中获取第一个元素:
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。
当前回答
使用过滤器查找数组中的第一个元素:
在打字稿:
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;
}
其他回答
当数组下标从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'.
var ary = ['first', 'second', 'third', 'fourth', 'fifth'];
console.log(Object.keys(ary)[0]);
创建任意对象数组(req),然后简单地执行Object.keys(req)[0]来选择对象数组中的第一个键。
var ary = ["first", "second", "third", "fourth", "fifth"];
console.log(ary.shift());
//first
cosnole.log(ary);
// ["second", "third", "fourth", "fifth"]
我知道从其他语言学习到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
只需使用ary.slice(0,1).pop();
In
var ary =[’first’,’second’,’third’’fourth’、’fifth’]; 游戏机。log(1º”+ ary slice(0.1)。pop ()); “2º”游戏机。log (+ ary slice(0.2)。pop ()); 游戏机。log(“3º”+ ary slice(0.3)。pop ()); 游戏机。log(“4º”+ ary slice(0.4)。pop ()); “5º”游戏机。log (+ ary slice(0.5)。pop ()); 游戏机log(“最后”+ ary。slice (- 1) pop ());
array.slice(START,END).pop();