1. 程式人生 > 實用技巧 >關於迴圈遍歷獲取資料

關於迴圈遍歷獲取資料

一、for迴圈

var list=[];
for(var i in data){
  list.push( data[i].num ) 
}

二、forEach

具體介紹:https://www.runoob.com/jsref/jsref-foreach.html

eg:

<p>乘以: <input type="number" id="multiplyWith" value="10"></p>
<button onclick="numbers.forEach(myFunction)">點我</button>
 
<p>計算後的值: <span id="demo"></span></p>
 
<script>
var
numbers = [65, 44, 12, 4]; /** 引數 描述 ** currentValue 必需。當前元素 ** index 可選。當前元素的索引值。 ** arr 可選。當前元素所屬的陣列物件。 **/ function myFunction(item,index,arr) { arr[index] = item * document.getElementById("multiplyWith").value; demo.innerHTML = numbers; } </script>

***注意:

forEach(): 沒有返回值

,本質上等同於 for 迴圈,對每一項執行 function 函式。即map返回一個新陣列,原陣列不變,forEach 是改變原陣列

不支援 continue,用 return false 或 return true 代替。

不支援 break,用 try catch/every/some 代替:

//實現 continue:

var arr = [1,2,3,4,5];
var num = 3;
arr.some(function(v){
    if(v == num) {
        return;  // 
    }
    console.log(v);
});

//實現 break:
var arr = [1,2,3,4,5]; var num = 3; arr.every(function(v){ if(v == num) { return false; }else{ console.log(v); return true; } });

三、判斷時用switch

switch case 如果迴圈就是break 如果是判斷就是return false;

 // 如果迴圈   跳出用break
 switch(num){
     case 1: xxxx
         break;
     case 2:xxxx
         break;
     default:
          break;
 }
//是判斷就用  return false;
switch(num){
     case 1: xxxx
         return false;
      case 2:xxxx  
        return false;
     default: 
         return false;
}