在使用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
答案 0 :(得分:2)
根据jQuery.map
的文档:
该功能可以返回:
- 已翻译的值,将映射到结果数组
null
或undefined
,删除项目- 一个值数组,将被展平为完整数组
换句话说,这是jQuery.map
的预期行为。