首頁 >web前端 >js教程 >javascript遍歷方法的介紹(程式碼範例)

javascript遍歷方法的介紹(程式碼範例)

不言
不言轉載
2018-10-24 17:38:492088瀏覽

這篇文章帶給大家的內容是關於javascript遍歷方法的介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

有用到object物件的轉換成數組,然後又想到了遍歷方法,所以,也想記錄下

1. 終止或跳出循環

  • break跳出循環體,所在循環體已結束

  • #continue跳出本次循環,進行下一次循環,所在的循環體未結束

  • return 終止函數執行

for (let i = 0; i < 5; i++) {
    if (i == 3) break;
    console.log("The number is " + i);
    /* 只输出 0 , 1 , 2 , 到3就跳出循环了 */
}
for (let i = 0; i <= 5; i++) {
    if (i == 3) continue;
    console.log("The number is " + i);
    /* 不输出3,因为continue跳过了,直接进入下一次循环 */
}

2.遍歷方法

  • 假資料

const temporaryArray = [6,2,3,4,5,1,1,2,3,4,5];
const objectArray = [
    {
        id: 1,
        name: &#39;d&#39;
    }, {
        id: 2,
        name: &#39;d&#39;
    }, {
        id: 3,
        name: &#39;c&#39;
    }, {
        id: 1,
        name: &#39;a&#39;
    }
];
const temporaryObject = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
};
const length = temporaryArray.length;
  • #普通for循環遍歷

for(let i = 0; i < length; i++) {
    console.log(temporaryArray[i]);
}
  • for in 迴圈

/* for in 循环主要用于遍历普通对象,
* 当用它来遍历数组时候,也能达到同样的效果,
* 但是这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,
* 这意味着在某些情况下,会发生字符串运算,导致数据错误
* */
for(let i in temporaryObject) {
    /* hasOwnProperty只加载自身属性 */
    if(temporaryObject.hasOwnProperty(i)) {
        console.log(temporaryObject[i]);
    }
}
  • for of 循環,用於遍歷可迭代的物件

for(let i of temporaryArray) {
    console.log(i);
}
  • forEach 第一個值為數組目前索引的值,第二個為索引值,只能遍歷數組,無回傳值,也無法跳出循環

let a = temporaryArray.forEach(function(item, index) {
    console.log(index, item);
});
  • map 返回新數組,只能遍歷數組

temporaryArray.map(function(item) {
    console.log(item);
});
  • filter 是數組的內建對象,不改變原始數組,有返回值

#
temporaryArray.filter(function(item) {
    console.log(item%2 == 0);
});
  • some判斷是否有符合的值

let newArray = temporaryArray.some(function(item) {
    return item > 1;
});
console.log(newArray);
  • every判斷陣列裡的值是否全部符合條件

#
let newArray1 = temporaryArray.every(function(item) {
    return item > 6;
});
console.log(newArray1);
  • reduce(function(total, currentValue, currentIndex, array) {}, [])

total:初始值或計算結束後的回傳值,currentValue遍歷時的目前元素值,currentIndex目前索引值,array目前陣列
如果沒有指定參數-空數組[],累積變數total預設是第一個元素的值
在指定參數空數組後,累積變數total的初始值變成了空數組

let temporaryObject3 = {};
let newArray2 = objectArray.reduce(function(countArray, currentValue) {
    /* 利用temporaryObject3里存放id来判断原数组里的对象是否相同,若id相同,则继续下一步,不同则将该对象放入新数组中
     * 则countArray为去重后的数组
      * */
    temporaryObject3[currentValue.id] ? '' : temporaryObject3[currentValue.id] = true && countArray.push(currentValue);
    return countArray;
}, []);
console.log(newArray2);

#

以上是javascript遍歷方法的介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除