对象键值对循环:
一般键值对循环对象都会与 switch case 一起用 ,对每个键好进行分析
先来看看switch case用法
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
例如;
<p id="demo"></p>
<script>
var day;
switch (new Date().getDay()) {
case 0:
day = "周日";
break;
case 1:
day = "周一";
break;
case 2:
day = "周二";
break;
case 3:
day = "周三";
break;
case 4:
day = "周四";
break;
case 5:
day = "周五";
break;
case 6:
day = "周六";
}
document.getElementById("demo").innerHTML = "今天是" + day;
</script>
//可以得出几天星期几
- 使用for…in…遍历
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).
let obj = {'1':'第一个','2':'第二个','3':'第三个'};
for(leti in obj) {
console.log(i,":",obj[i]);
}
2. 使用Object.keys()遍历
返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).
let obj = {'1':'firsr','2':'second','3':'third'};
Object.keys(obj).forEach(function(key){
console.log(key,obj[key]);
});`
3. 使用Object.getOwnPropertyNames(obj)遍历
返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key,obj[key]);
});
4. 使用Reflect.ownKeys(obj)遍历
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.
var obj = {'0':'a','1':'b','2':'c'};
Reflect.ownKeys(obj).forEach(function(key){
console.log(key,obj[key]);
});
javaScript遍历数组
- 使用for…in…遍历
let arr=["0","1","2","3"];
for (let i in arr){
console.log(i,":",arr[i]);
}
- 使用forEach遍历
var arr=[1,2,3,4];
arr.forEach(function(val, index) {
console.log(val, index);
});
- 用for-of遍历
不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象.
也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.
let arr=["0","1","2","3"];
for (let value of arr){
console.log(value);
}