jQuery.map()和undefined

时间:2014-05-13 23:23:48

标签: javascript jquery map

在使用jQuery的实用工具方法jQuery.map()时,我注意到返回的数组中省略了未定义的返回值。这是什么原因?

var letters = ['a', undefined, 'c', undefined, 'e'];
console.log(letters); //["a", undefined, "c", undefined, "e"] 
console.log(letters.length); //5 

var lettersMapped = $.map(letters, function(item, index){
    var item = item;
    return item;
});

console.log(lettersMapped); //["a", "c", "e"]
console.log(lettersMapped.length); //3

1 个答案:

答案 0 :(得分:2)

根据jQuery.map的文档:

  

该功能可以返回:

     
      
  • 已翻译的值,将映射到结果数组
  •   
  • nullundefined,删除项目
  •   
  • 一个值数组,将被展平为完整数组
  •   

换句话说,这是jQuery.map的预期行为。