JS中遍历普通数组和字典数组的区别

JavaScript013

JS中遍历普通数组和字典数组的区别,第1张

// 普通数组

var intArray = new Array()

intArray[0] = "第一个"

intArray[1] = "第二个"

for(var i = 0i <intArray.lengthi++)

{

alert(intArray[i]) // 第一个,第二个

}

// 拿到的是下标(像dictionary的key)

for(var key in intArray)

{

alert(key) // 0,1

}

// 字典数组

var dicArray = new Array()

dicArray["f"] = "第一个"

dicArray["s"] = "第二个"

// 无法取到

for(var i = 0i <dicArray.lengthi++)

{

alert(dicArray[i])

}

// 拿到的是下标

for(var key in dicArray)

{

alert(key) // f,s

}

可以用for循环配合charAt函数遍历字符串。

1、定义一个字符串并将字符串赋值给一个变量,这里以变量名为str为例:

2、新建一个for循环,循环从0开始,循环次数为“str.length”,它的意思是循环次数为字符串的长度:

3、在for循环中添加“str.charAt(i)”,charAt中的值为循环中的次数,然后将结果输出,这样字符串就被遍历出来了:

首先定义一个数组

const arr = [1,2,3,4,5,6]

第一种:for循环

for (let i = 0i<arr.lengthi++){

   console.log(arr[i])

}

for(j=0,len=arr.lengthj<lenj++){}//这种方法基本上是所有循环遍历方法中性能最高的一种

第二种 for of (需要ES6支持) 性能要好于forin,但仍然比不上普通for循环

for (let value of arr){

       console.log(value)

}

第三种 for in 它的效率是最低的

for (let i in arr){

      console.log(arr[i])

 }

第四种 foreach() 实际上性能比普通for循环弱

    1、箭头函数写法

    arr.forEach(value =>{

        console.log(value)

    })

    2、普通函数写法

    arr.forEach(function(value){

       console.log(value)

     })

第五种 entries()

for (let [index, value] of arr.entries()) {

     console.log(value)

 }

第六种 keys()

for (let inx of arr.keys()){

console.log(arr[inx])

}

第七种 reduce()

1、箭头函数

arr.reduce((pre,cur)=>{

       console.log(cur)

 })

2、普通函数

arr.reduce(function(pre,cur){

     console.log(cur)

})

第八种 map() 但实际效率还比不上foreach

1、箭头函数

 arr.map(value=>{

       console.log(value)

 })

2、普通函数

arr.map(function(value){

      console.log(value)

})

第九种 values()

for (let value of arr.values()){

       console.log(value)

 }