海纳百川

数组遍历方法的区别

2018-09-12  本文已影响0人  凛冬已至_123

区分一下数组遍历方法

var arr = [1,2,3,4,5]
var value = arr.forEach(function(item,index,input){
    console.log(item)//1|2|3|4|5 为数组每项的值
    console.log(index)//0|1|2|3|4 为数组的下标
    input[index] = item*item//input是原数组
    console.log(input)
    })
console.log(value)// undefined 返回值为undefined
console.log(arr) // [1, 4, 9, 16, 25]
var arr = [1,2,3,4,5]
var value = arr.map(function(item,index,input){
    console.log(item)//1|2|3|4|5 为数组每项的值
    console.log(index)//0|1|2|3|4 为数组的下标
    input[index] = item*item//input是原数组
    console.log(input)
    return input[index]+1
    })
console.log(value)// [2, 5, 10, 17, 26]
console.log(arr) // [1, 4, 9, 16, 25]
// 可以看出map与forEach的区别在于,每次遍历的返回值会组成和原数组类似结构的数组

$( "li" ).each(function( index , e) {
  console.log( index + ":" + $(e).text() );
});
/*"0:2"
  "1:3"
  "2:4"*/

var obj = {
  "flammable": "inflammable",
  "duh": "no duh"
};
$.each( obj, function( key, value ) {
  alert( key + ": " + value );
});//"flammable: inflammable" "duh: no duh"
let value = $('li').map(function(i, ele){
    console.log(i)//0|1|2
    console.log($(ele)[0].id)// e|d|f
    return $(ele).id
})

console.log(value)
上一篇下一篇

猜你喜欢

热点阅读