2016-05-27 2 views
-1

У меня есть Arry так:Javascript фильтр массив только с индексом

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

Здесь каждый файл, который находится в списке содержит filename словарь .. Как я могу получить только массив с индексом, как 0,1,2 а не длина и proto. Я хочу, чтобы список, который содержит имя из File массива

Я новичок в яваскрипте

+0

Можете ли вы предоставить демо? Что такое вход? – Rayon

+0

Поверьте мне, вам не нужно удалять 'length' из JavaScript' Array' и вы, конечно же, не хотите удалять '__proto__' из' Object'. Эти свойства являются основой JavaScript. – Vaclav

ответ

1

У меня есть Arry как этот

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

Я хочу список, который содержит имя из File массива

FileList объект не является Array; File Объект не является Array. Вы можете создать массив, итерация FileList объекта и нажать .name свойства каждого File объекта в FileList объекте созданного массива

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

или выбрать конкретный File в FileList с помощью index и .item(); например, для извлечения .name из File на index2

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

Чтобы создать 'Array' из' Array-Like Object' в одной строке, вы можете использовать 'var filesAsArray = Array.prototype.slice.call (файлы)', а в ES6 у нас есть 'Array.from()'. – Vaclav

0

Существует функция полезности в underscoreJS. _.pluck(arrayOfObjects, property). Отъезд _.pluck от http://underscorejs.org/#pluck

Смежные вопросы