我在 JavaScript 上从文件对象获取 key ,但我不知道为什么对象方法不起作用。
我试过 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
最佳答案
Object.keys()
和 Object.getOwnPropertyNames()
只返回自己的属性,无论它们是否可枚举。在这种情况下,您尝试获取的属性属于其 prototype
。所以这些方法都行不通。
您仍然可以通过执行以下操作来获取其属性:
const attributes = [];
for (attribute in file) {
attributes.push(attribute);
}
关于javascript - 如何从 JavaScript 的文件对象中获取所有键/参数/属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068033/