是否有一种优雅的方法来访问对象的第一个属性。。。
你不知道你的财产的名字而不使用像..这样的循环。。in或jQuery的$.each
例如,我需要在不知道foo1名称的情况下访问foo1对象:
var example = {
foo1: { /* stuff1 */},
foo2: { /* stuff2 */},
foo3: { /* stuff3 */}
};
是否有一种优雅的方法来访问对象的第一个属性。。。
你不知道你的财产的名字而不使用像..这样的循环。。in或jQuery的$.each
例如,我需要在不知道foo1名称的情况下访问foo1对象:
var example = {
foo1: { /* stuff1 */},
foo2: { /* stuff2 */},
foo3: { /* stuff3 */}
};
当前回答
也可以执行Object.values(示例)[0]。
其他回答
这是我的解决方案
const dataToSend = {email:'king@gmail.com',password:'12345'};
const formData = new FormData();
for (let i = 0; i < Object.keys(dataToSend).length; i++) {
formData.append(Object.keys(dataToSend)[i],
Object.values(dataToSend)[i]);
}
console.log(formData);
如果您需要访问“对象的第一个属性”,这可能意味着您的逻辑有问题。对象财产的顺序无关紧要。
使用lodash库的解决方案:
_.find(example) // => {name: "foo1"}
但无法保证对象财产的内部存储顺序,因为它依赖于javascript VM实现。
下面是获取第一个密钥的更简单的方法:var对象={foo1:'第一个属性“foo1”的值',foo2:{/*stuff2*/},foo3:{/*stuff3*/}};let[firstKey]=对象.keys(对象)console.log(firstKey)console.log(对象[firstKey])
单行版本:
var val = example[function() { for (var k in example) return k }()];