const arrList = ['value1', 'value2', 'value3', 'value4']
const objList = {
a:'value1',
b:'value2',
c:'value3',
d:'value4'
}
// js原生
for (let i = 0; i < arrList.length; i++) {
console.log(i + '--->' + arrList[i]) // 0--->value1 1--->value2 2--->value3 3--->value4
}
// for in 也可以遍历数组
for (let i in arrList){
console.log('数组' + i + '---->' + arrList[i]) // 数组0---->value1 数组1---->value2 数组2---->value3 数组3---->value4
}
for (let i in objList){
console.log(i + '--------->' + objList[i]) // a--------->value1 b--------->value2 c--------->value3 d--------->value4
}
// forEach三个参数包括为数组内容 索引 数组本身
arrList.forEach(function(value, index, array) {
console.log(value + '---->' + index + '------>' +array) //value1---->0------>value1,value2,value3,value4 value2---->1------>value1,value2,value3,value4 value3---->2------>value1,value2,value3,value4 value4---->3------>value1,value2,value3,value4
})
// for循环和for-in能正确响应break、continue和return语句,但forEach不行。
// es6语法
for (let i of arrList){
// i 即为数组元素 无索引
console.log(i) //value1 value2 value3 value4
}
const mapList = new Map([['a',1], ['b', 2], ['c', 3], ['d', 4]])
for (let i of mapList){
console.log(i) // ["a", 1] ["b", 2] ["c", 3] ["d", 4]
}
for (let [key, value] of mapList){
console.log(value) // 1 2 3 4
}
const chartsList = 'china中国'
for (let i of chartsList) {
console.log(i) // c h i n a 中 国
}
console.log(Object.keys(arrList)) //["0", "1", "2", "3"]
console.log(Object.keys(objList)) // ["a", "b", "c", "d"]
const arrObjList = {'a':1, 'b':2, 'c':3}
console.log(Object.keys(arrObjList)) // ["a", "b", "c"]
// jquery
$.each(arrList, function(index, value){
console.log(index + '---->' + value) // 0---->value1 1---->value2 2---->value3 3---->value4
})
$.each(objList, function(key, value){
console.log(key + '----->' + value) // a----->value1 b----->value2 c----->value3 d----->value4
})
遍历数组和对象
最新推荐文章于 2023-02-17 16:13:26 发布