javascript - Map null values to array -
why isn't null added keys array below?
html
<input type="radio" data-codekey="1"/> <input type="radio" data-codekey="null"/> js
$(function(){ var keys = $step.find('input[type="radio"]').map(function (i, el) { return $(el).data('codekey'); }).get(); console.log(keys); // [1] //desired result: [1, null] });
from the .map() documentation:
if function returns null or undefined, no element inserted.
the .data() function type conversion , (apparently) assumes string "null" should converted value null. converts string"1" number 1.
use .attr() instead of .data() , you'll actual string "null":
return $(el).attr('data-codekey'); if want actual null can't use .map(), you'd have rewrite .each() loop or something:
var keys = []; $step.find('input[type="radio"]').each(function () { keys.push( $(this).data('codekey') ); });
Comments
Post a Comment