การแก้ไขมิกซ์สำหรับข้อบกพร่องแผนที่ขีดล่าง: P
_.mixin({
mapobj : function( obj, iteratee, context ) {
if (obj == null) return [];
iteratee = _.iteratee(iteratee, context);
var keys = obj.length !== +obj.length && _.keys(obj),
length = (keys || obj).length,
results = {},
currentKey;
for (var index = 0; index < length; index++) {
currentKey = keys ? keys[index] : index;
results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
}
if ( _.isObject( obj ) ) {
return _.object( results ) ;
}
return results;
}
});
วิธีแก้ปัญหาง่ายๆที่เก็บคีย์ขวาและคืนเป็นวัตถุมันยังคงใช้วิธีเดียวกับแขก i คุณสามารถใช้ฟังก์ชันนี้เพื่อแทนที่ฟังก์ชัน bugy _.map
หรืออย่างที่ฉันใช้เป็น mixin
_.mapobj ( options , function( val, key, list )