js中的循环

时间:2021-08-27 16:51:46

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());
}
});
});