2016-05-27 7 views
-1

ich ein arry wie diese:JavaScript-Array-Filter mit nur Index

0: File 
1: File 
2: File 
length: 3 
__proto__: FileList 

Hier wird jede Datei, die in der Liste ist filename Wörterbuch enthält .. Wie kann ich mit dem Index nur Array erhalten wie 0,1,2 und nicht Länge und Proto. Ich will die Liste, die Namen von File Array enthält

Ich bin neu in Javascript

+0

Können Sie eine Demo zur Verfügung stellen? Was ist der Input? – Rayon

+0

Glauben Sie mir, Sie brauchen 'Länge' nicht aus einem JavaScript' Array' zu entfernen und Sie wollen'__sproto__' keinesfalls aus einem 'Objekt' entfernen. Diese Eigenschaften sind der Stamm von JavaScript. – Vaclav

Antwort

1

Ich habe eine arry wie diese

0: File 
1: File 
2: File 
length: 3 
__proto__: FileList 

ich die Liste wollen die Namen von File Array enthält

FileList Objekt ist kein Array; File Objekt ist kein Array. Sie können ein Array erstellen, iterieren FileList Objekt und schieben .name Eigenschaft jedes Objekt in FileFileList Objekt zu dem Array erstellt

for (var i = 0, names = []; i < files.length; i++) { 
    names.push(files[i].name) 
} 
console.log(names); 

oder wählen spezifische File innerhalb FileList die index und .item() verwendet; Es gibt eine Nutzenfunktion in Underscore.js zum Beispiel .name von File bei index2

var name = files.item(2).name; 
+0

Um 'Array' aus' Array-Like Object' in einer Zeile zu erstellen, können Sie 'var filesAsArray = Array.prototype.slice.call (files)' und in ES6 'Array.from()' verwenden. – Vaclav

0

abzurufen. _.pluck(arrayOfObjects, property). Check out _.pluck von http://underscorejs.org/#pluck