javascript - 如何在 Vue.js 中获取对象数组中的键

标签 javascript arrays object

我创建了一个对象数组,如下所示:

for(var i =0; i < this.test.length; i ++){
    var header = this.test[i].hdr;
    var insertData = [];

    switch(header){
        case 'date':
            insertData =  {date: "date"};
            break;
        case 'name':
            insertData =  {name: "name"};
            break;
        case 'age':
            insertData =  {age: "age"};
            break;
        case 'add':
            insertData =  {add: "add"};
            break;
    }
    this.hdrtxt.push(insertData);
}

现在,当我尝试获取对象的键时,我使用了这个:

Object.keys(this.hdrtxt);

结果是:

(4) ["0", "1", "2", "3"]

但我想要的输出是这样的:

(4) ["date", "name", "age", "add"]

抱歉,我是新手。我怎样才能实现我的目标?

最佳答案

您可以使用Object.keysObject.assign并将数据分散到一个对象中以获取所有键:

const data = [{ date: "date" }, { name: "name" }, { age: "age" }, { add: "add" }]

const result = Object.keys(Object.assign({}, ...data))

console.log(result)

造成这种情况的主要原因是您正在处理一个数组,而 Object.keys 期望一个对象能够工作。

关于javascript - 如何在 Vue.js 中获取对象数组中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53662113/

相关文章:

javascript - HTML 验证

javascript - 如果不存在,Angular JS 默认创建段落

javascript - 'this' 返回数组而不是字符串。 JavaScript

arrays - Golang中如何返回未知类型的数组?

java - 无法创建构造函数

php - 在 PHP 中,你如何创建可重用对象?对此有最佳实践吗?你喜欢哪个?

javascript - 通用按钮自添加类

javascript - lodash 在数组中查找数组返回未定义

javascript - 在 JavaScript 中使用数组

java - 了解 Java 中的引用行为