js对象键值对循环和数组循环几种写法

对象键值对循环:

一般键值对循环对象都会与 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>
//可以得出几天星期几 
  1. 使用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遍历数组

  1. 使用for…in…遍历
let arr=["0","1","2","3"];
 for (let i in arr){
  console.log(i,":",arr[i]);
 }
  1. 使用forEach遍历
var arr=[1,2,3,4];
 arr.forEach(function(val, index) {
   console.log(val, index);
});
  1. 用for-of遍历
    不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象.
    也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.
let arr=["0","1","2","3"];
for (let value of arr){
    console.log(value);
}

参考文档:
https://www.cnblogs.com/chenyablog/p/6477866.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值