繁体   English   中英

如何遍历所有对象数组?

[英]How to loop through all the array of objects?

我有一个对象数组可用于绘制HTML表格:

Array(5)
0: Object
   id: 4
   name: Sand Jane
   address: Green Sand Street
   ...
   ...
   ...
1: Object
2: Object
...
...
...

我可以用一个name列定义搜索

const temp = this.temp.filter(function (d) {
            return d.name.toLowerCase().indexOf(val) !== -1 || !val;
        });

temp将包含this.temp的过滤数据

现在,我只是想不通如何遍历所有对象键(id,name,address ...),以便可以在表中进行全局列搜索。

更新 :我已经尝试过了,

const temp = [];
        this.temp.forEach(element => {
            for (let key in element) {
                if (element.hasOwnProperty(key)) {
                    let v = element[key];
                    if (v.toString().toLowerCase().indexOf(val) !== -1 || !val) {
                        temp.push(element);
                    }
                }
            }
        });

它有效,但存在性能问题。

已解决:在temp.push之后temp.push break temp.push解决此问题。 谢谢大家的指导和参考。

temp.forEach(item=>{
    for(let key in item) {
       //item[key] gives you access to each value
    }
})

您可以遍历for循环,甚至可以在for循环内使用for循环。 无论哪种方式,这都是不言自明的。

var dictionary = {
"employee1":[
    {"id":"0","name":"Google"},
    {"id":"1","name":"eBay"}
],
"employee2": [
    {"id":"2","name":"Yahoo"},
    {"id":"3","name":"Facebook"}
]
};
var employee1 = dictionary.employee1;
var employee2 = dictionary.employee2;

for ( var i in employee1) {
    var id = employee1[i].id;
    var name = employee1[i].name;
    console.log(id);
    console.log(name);
}

for ( var i in employee2) {
    var id = employee2[i].id;
    var name = employee2[i].name;
    console.log(id);
    console.log(name);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM