Первый тип: цикл for, который также является наиболее распространенным.

константа обр = [11,22,33,44,55,66,77,88]

for (let i = 0; i < arr.length; i++) {
            console.log(arr[i])
        }

Второй: forEach()

1) forEach() обходит обычные массивы

arr.forEach( function(item){
            console.log(item)
        } )

2) forEach() перебирает массив типов объектов

const arr = [
            {id:1,name:'zhangsan'},
            {id:2,name:'lisi'},
            {id:3,name:'wangwu'}
        ]
arr.forEach( function(item){
            console.log(item.id + '---' +  item.name)
        })

Выходной результат:

Третье: метод map()

map означает «карта», исходный массив «отображается» в соответствующий новый массив

var newArr = arr.map( function(value,index){    console.log(value + '---' + index)    return value + 10})
console.log(newArr)

Выходной результат:

Примечание: разница между forEach() и map():

1. forEach: используется для обхода каждого элемента в массиве, этот метод не имеет возвращаемого значения и не влияет на исходный массив.

2. карта: поддержка возврата, который эквивалентен клону исходного массива, изменяя каждый элемент клона, не затрагивая исходный массив.

Четвертый: метод for….in

for….in — это стандарт es5, этот метод неэффективен для обхода массива, в основном используется для перебора свойств объекта

1) for…в обход массива

for(let item in arr){
            console.log(arr[item])
        }

Подсказка: for…in не следует использовать для перебора массива, где порядок индексов имеет значение.
Индекс массива — это просто свойство перечисления с именем сертификата, то же самое, что и универсальное свойство объекта. Нет никакой гарантии, что for…in вернет индексы в любом конкретном порядке. Оператор цикла for…in вернет все перечисляемые свойства, включая имена нецелочисленных и унаследованных типов.

2) для…..при обходе объекта

Перебрать свойства объекта, динамически получить ключ в js и получить соответствующее значение = obj[key] в объекте

const obj = {
            a:1,
            b:2,
            c:3
        }
for(let key in obj){
            console.log(key + '---' + obj[key] )
        }

Выходной результат:

Пятый: метод for…….of (поддержка es6)

for(let item of arr){
            console.log(item)
        }

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.