map循环遍历取值,js map遍历的几种方式

1、forEach遍历:

          map.forEach(function(value,key){
            console.log(value,key);
          });
     函数中第一个参数是属性值,第二个参数是属性

  2、for-of遍历:ES6新语法
        ①for(let item of map){

         }
     遍历结果是数组
        ②for(let item of map.values()){

         }
     遍历属性值
        ③for(let item of map.keys()){

         }
     遍历属性

  3、entries遍历:

        for(let item of map.entries()){

        }

var list1 = [“number”,”name”];
var list2 = [“36″,”Crown”,”15″,”高大的乌龟”,”Swift”,”68″,”Dandy”];
var map_demo = { name: “John”, lang: “JS” };

1.最常用的for循环

for(var i=0;i<list2.length;i++){
        console.info(i +”:”+ list2 [i]);
}

改进:这里可以将list2.length提出来,不用每次计算长度,效率更高一些,such as:

var len=list2.length;
for(var i=0;i<len;i++){
        console.info(i +”:”+ list2 [i]);

}

小结:很常见也很常用,效率也不差,但不能遍历map。

2.for…in…遍历List/map 

//遍历map
for(var key in map_demo){
        console.info(key+”:”+map_demo[key]);
}
//遍历List
for(var index in list2){
        console.info(index+”:”+list2[index]);

}

小结:对于List来说,能不用for…in就不要用,效率低下。

3.forEach遍历List

list2.forEach(function (element, index, array) {
        console.info(element); //当前元素的值
        console.info(index);   //当前下标
        console.info(array);  //数组本身

});

小结:和for循环效率差不多。

4.$.each()遍历List/map

//遍历List
$.each(list2,function(index,items){
        console.info(index+”:”+items);
});
//遍历map
$.each(map_demo,function(key,value){
        console.info(“key: ” + key + “, Value: ” + value );

})

5.$.map()遍历List/map

//遍历List
var new_list = $.map(list2,function(items,index){
        return items+”!”;
})
console.info(new_list);
    
//遍历map
$.map(map_demo,function(key,value){  
    console.log(key+”:”+value);  

});

小结:$.map()写法和$.each()类似,但对list的遍历时,参数顺序和$.each()是相反的,并且可以带返回值。对map的遍历和$.each()一样

var businessHtml = ‘<dt>业务类系统:</dt>’;
            var businessMap = data.system[“1”];
            for (var key in businessMap) {
                businessHtml += ‘<dd οnclick=”elementSystemChange(this,’+ key +’)”>’+businessMap[key]+'</dd>’
            }<快三稳赚10大技巧ems){
        console.info(index+”:”+items);
});
//遍历map
$.each(map_demo,function(key,value){
        console.info(“key: ” + key + “, Value: ” + value );

})

5.$.map()遍历List/map

//遍历List
var new_list = $.map(list2,function(items,index){
        return items+”!”;
})
console.info(new_list);
    
//遍历map
$.map(map_demo,function(key,value){  
    console.log(key+”:”+value);  

});

小结:$.map()写法和$.each()类似,但对list的遍历时,参数顺序和$.each()是相反的,并且可以带返回值。对map的遍历和$.each()一样

var businessHtml = ‘<dt>业务类系统:</dt>’;
            var businessMap = data.system[“1”];
            for (var key in businessMap) {
                businessHtml += ‘<dd οnclick=”elementSystemChange(this,’+ key +’)”>’+businessMap[key]+'</dd>’
            }
            $(‘#businessList’).html(businessHtml);

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注