数组遍历与Object.keys()方法的运用
Object.keys()用于获得由对象属性名组成的数组,可与数组遍历相结合使用,用起来效果杠杠滴。数组遍历可以用for()或forEach()来实现,forEach()方法是ECMAScript5定义的遍历数组的一个新方法,按照索引的顺序挨个传递给定义的函数;接下来就Object.keys()分别结合for()和forEach()使用进行运用,用console.log输出到控制台,代码如下:
1.for()
//创建对象
var person = {
ChineseName: "wjh",
EnglishName: "Bruce",
age: 10,
school:"HQ University"
}
var keys = Object.keys(person);//获得对象属性名组成的数组
var value = [];//用于存储匹配的属性值
//用for进行遍历
for (var i = 0,len = keys.length; i < len; i++) {
var key = keys[i];
value[i] = person[key];
console.log("person ", key, ": ", value[i]);
}
2.forEach()
//创建对象
var person = {
ChineseName: "wjh",
EnglishName: "Bruce",
age: 10,
school:"HQ University"
}
//用forEach()进行遍历
var keys = Object.keys(person).forEach(function (tz) {
console.log("person ", tz, ": ", person[tz]);
});
由于个人习惯,比较喜欢将html文档和js文档分开写,再把js文档调用进来就可以,这样比较有利于后期程序的维护和扩展,本节html文档如下所示:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="main.js"></script>
</head>
<body>
</body>
</html>
运行程序,两种方法的结果是一样的,效果如下图,至于使用哪种方法,就智者见智,仁者见仁啦,for(),用起来比较容易上手,但太罗嗦;forEach()和相关的遍历方法结合,使得数组拥有简单而强大的函数式编程风格,更加强大。