372 Stimmen

Wie erhält man das erste Element eines Arrays?

Wie erhält man das erste Element aus einem Array wie diesem:

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

Ich habe dies versucht:

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

Aber sie würde zurückkehren [object Object] . Ich muss also das erste Element aus dem Array holen, das das Element 'first' .

59voto

NicoLwk Punkte 591

Das Element mit dem Index 0 darf nicht existieren, wenn das erste Element gelöscht worden ist:

let a = ['a', 'b', 'c'];
delete a[0];

for (let i in a) {
  console.log(i + ' ' + a[i]);
}

Besserer Weg, um das erste Element ohne jQuery zu erhalten:

function first(p) {
  for (let i in p) return p[i];
}

console.log( first(['a', 'b', 'c']) );

44voto

eliocs Punkte 17779

Wenn Sie die Lesbarkeit können Sie immer eine erste Funktion in die Array.protoype :

Array.prototype.first = function () {
    return this[0];
};

A, dann können Sie das erste Element leicht abrufen:

[1, 2, 3].first();
> 1

20voto

thomax Punkte 8385

Wenn Ihr Array nicht garantiert ab Index Null gefüllt werden soll, können Sie 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'

17voto

Abdennour TOUMI Punkte 75271
array.find(e => !!e);  // return the first element 

da "find" das erste Element zurückgibt, das dem Filter entspricht && !!e mit jedem Element übereinstimmen.

Hinweis Dies funktioniert nur, wenn das erste Element kein "Falsy" ist: null , false , NaN , "" , 0 , undefined

12voto

Vik Punkte 3255

In ES2015 und höher, mit Array-Destrukturierung:

const arr = [42, 555, 666, 777]
const [first] = arr
console.log(first)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X