美文网首页
详细解读数组遍历

详细解读数组遍历

作者: 夏至未至_95bf | 来源:发表于2018-05-31 15:46 被阅读0次
var arr=['val-a','val-b','val-c'];
        var obj={
            aa:'对象a',
            bb:'object_b',
            cc:function(){console.log('打印函数值')},
            dd:['数组1','数组2']
        }
        for(var i=0;i<arr.length;i++){
            //console.log((i+1)+':'+arr[i])
            var html ='';
            if(i==1){
                html+='<div style="color:red">'+arr[i]+'</div>';
                $('#chart').append(html);
            }
            html +='<li>'+i +'添加数组打印值:' + arr[i]+'</li><p>'+(i+1)+'</P>';
            $('#chart').append(html);
            
        }
        console.log(obj.dd[1]);
        console.log(Object.keys(obj));
        console.log(Object.keys(arr));
        //js原生for循环遍历数组
        for(var i=0;i<arr.length;i++){
            console.log((i+1)+':'+arr[i])
        }
        //for-in遍历对象属性,i指代属性名
        for(var i in obj){
            console.log(i+':'+obj[i])
        }
        //forEach遍历数组,三个参数依次是数组元素,索引,数组本身
        // obj.forEach(function(value,index,array) {
        //  console.log(value+'--'+index+'--'+array[index])
        // })
        //for-in遍历数组
        for(var i in arr){
            console.log(i+'--'+arr[i])
        }
        //for-in会遍历到数组的属性
        arr.name='test';
        for(var i in arr){
            console.log(i+'::'+arr[i])
        }
        //for循环和for-in能正确响应break,,continue,,return语句,但forEach不行
        for(var i=0;i<arr.length;i++){
            console.log(i+"----"+arr[i]);
            if(i==1){
                break;
            }
        }
        //不能相应执行if语句中的return,
        arr.forEach(function(value,index){
            console.log(value+index);
            if(i==1){
                return 000;
                //arr[1]='bbb'
            }
        })
        //ES6中新增了for-of遍历对象,被设计用来遍历各种类数组集合,
        //例如DOM NodeList对象、Map和Set对象,甚至字符串也行。官方的说法是
        //for...of语句在可迭代对象(包括 Array, Map, Set, String, TypedArray,arguments 
        //对象等等)上创建一个迭代循环,对每个不同属性的属性值,调用一个自定义的有执行语句的迭代挂钩
        
        // for-of遍历数组,不带索引,i即为数组元素
        for(var i of arr){
            console.log(i+'用of遍历')
        }
        // for-of遍历Map对象
        let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
        for (let [key, value] of iterable) {
            console.log(value+';'+key+'  of遍历map对象');
        }
        // for-of遍历字符串
        let string = "china中国";
        console.log(string[5]+string[6]);
        for (let value of string) {
            console.log(value);
        }
        /****$.each()遍历对象和数组****/
        $.each(arr,function(index,value){
            console.log(index+": "+value)
        });
        
        $.each(obj,function(key,value){
            console.log(key+": "+value)
        });

相关文章

网友评论

      本文标题:详细解读数组遍历

      本文链接:https://www.haomeiwen.com/subject/svlmdftx.html