如何从这样的数组中获取第一个元素:
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。
当前回答
如果你将一个视图函数链接到数组,例如。
阵列。地图(i => i+1)。过滤器(i => i > 3)
想要在这些函数之后的第一个元素,你可以简单地添加。shift()它不会修改原始数组,这比数组更好。映射(i => i+1)。过滤器(=> I > 3)[0]
如果你想要一个数组的第一个元素而不修改原始元素,你可以使用array[0]或array.map(n=>n).shift()(没有映射,你将修改原始元素。顺便说一句,在这种情况下,我建议…[0]版本。
其他回答
使用过滤器查找数组中的第一个元素:
在打字稿:
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;
}
当有多个匹配时,JQuery的.first()用于获取与css选择器匹配的第一个DOM元素。
你不需要jQuery来操作javascript数组。
当数组下标从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'.
使用这个来分割javascript中的字符。
var str = "boy, girl, dog, cat";
var arr = str.split(",");
var fst = arr.splice(0,1).join("");
var rest = arr.join(",");
var ary = ['first', 'second', 'third', 'fourth', 'fifth'];
console.log(Object.keys(ary)[0]);
创建任意对象数组(req),然后简单地执行Object.keys(req)[0]来选择对象数组中的第一个键。