xdxxdx
www.xdxxdxxdx.com

js中的循环是我们经常要用到的,现在进行一些归纳。

一.javascript种的循环。

1.循环对象

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    if (o.hasOwnProperty(key)) {
        console.log(key); // 'name', 'age', 'city'
        console.log(o[key]); //'jack',20,'Beijing'
    }
}

2.循环数组

var arr = ['Bart', 'Lisa', 'Adam'];
for (var i in arr){
  console.log("hello,"+arr[i]);
}

或者

var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element: 指向当前元素的值
    // index: 指向当前索引
    // array: 指向Array对象本身
    console.log(element + ', index = ' + index);
});

可根据兴趣写回调决定回调函数中的参数

var a = ['A', 'B', 'C'];
a.forEach(function (element) {
    console.log(element);
});

循环set和map

var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
  // element: 指向当前元素的值 
  // sameElement: 也是当前元素
  // set: 指向set对象本身
    console.log(element);
});
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    console.log(value);
});

二.jquery的循环

基本是循环数组。

1.取得jquery对象后循环

 $("li").each(function(){
    alert($(this).text())
  });

其实方法的完整形式是

$(selector).each(function(index,element))

可以根据自己的需要添加参数。

2.不取得jquery对象,直接使用$.each()方法。第一个参数是被循环的数组对象,第二个为回调函数。

var userList = [11,22,33,44];
  $.each(userList,function(i,item){
    console.log(i, item);

  });

 3.遍历选择器得到的元素

  $(function(){
            var selector=$('ul.lang li.lang-javascript');
            //var selector=$('div.testing li.lang-javascript');
            console.log(selector.length);
            selector.each(function(i){
                var _this=$(this);
                if(_this[0].tagName=="DIV"){
                    console.log(_this.html());
                }else if(_this[0].tagName=="INPUT"){
                    console.log(_this.val());
                }else{
                    console.log(_this.text());
                }
            });
        });

 

posted on 2018-01-06 17:21  xdxxdx  阅读(247)  评论(0编辑  收藏  举报