解读方法makeMap

请解读这段代码,写个完整实例。

返回的

function (val) { return map[val.toLowerCase()]; }

在什么情况下使用?

/*
 * 我的理解:
 * 作用: 根据str, 生成一个map, 然后返回一个方法, 这个方法的作用是, 判断一个值是否在这个生成的map中.
 * str: 用来生成map的字符串, 用','隔开
 * expectsLowerCase: 是否转小写
 */
function makeMap (str, expectsLowerCase) {
  var map = Object.create(null);  // map: Object {}
  var list = str.split(',');
  for (var i = 0; i < list.length; i++) {
    map[list[i]] = true;
  }
  return expectsLowerCase
    ? function (val) { return map[val.toLowerCase()]; }
    : function (val) { return map[val]; }
}
阅读 3.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题