Как получить все ключи / параметры / атрибуты из файлового объекта JavaScript? - PullRequest
1 голос
/ 10 мая 2019

Я получаю ключи от File Object на JavaScript, но я не знаю, почему методы Objects не работают.

Я пробовал Object.keys () и Object.getOwnPropertyNames (). Почему эти методы не работают?

Вот пример:

        var obj = {name:'my_name',id:1,value:'my_val'}
        const file = document.getElementById('fileToUpload').files[0];

        console.log('Object.keys(file)',Object.keys(file));
        //Array []
        console.log('Object.keys(obj)',Object.keys(obj));
        //Array [3]
        console.log('Object.getOwnPropertyNames(file)',Object.getOwnPropertyNames(file));
        //Array []
        console.log('Object.getOwnPropertyNames(obj)',Object.getOwnPropertyNames(obj));
        //Array [3]
        console.log('file.name',file.name);
        //name.type
        console.log('obj.name',obj.name);
        //my_name
        console.log('Object',file);
        //File {...}
        console.log('Object',obj);
        //Object {...}
        console.log('type',typeof file);
        //object
        console.log('type',typeof obj);
        //object

1 Ответ

0 голосов
/ 10 мая 2019

Object.keys() и Object.getOwnPropertyNames() возвращают только собственные свойства, независимо от того, являются они перечисляемыми или нет.В этом случае свойства, которые вы пытаетесь получить, принадлежат его prototype.Поэтому эти методы не будут работать.

Вы можете получить его атрибуты, выполнив что-то вроде этого:

const attributes = [];
for (attribute in file) {
  attributes.push(attribute);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...