栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

创建指定范围内的字符数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建指定范围内的字符数组

Javascript本身没有该功能。您可以在下面找到一些如何解决的示例:

正常功能,基本平面中的任何字符(不检查代理对)

function range(start,stop) {  var result=[];  for (var idx=start.charCodeAt(0),end=stop.charCodeAt(0); idx <=end; ++idx){    result.push(String.fromCharCode(idx));  }  return result;};range('A','Z').join();

与上面相同,但是作为添加到数组原型的函数,因此可用于所有数组:

Array.prototype.add_range = function(start,stop) {  for (var idx=start.charCodeAt(0),end=stop.charCodeAt(0); idx <=end; ++idx){    this.push(String.fromCharCode(idx));  }  return this;};[].add_range('A','Z').join();

预选字符的范围。比上面的函数要快,并且可以

alphanum_range('A','z')
用来表示AZ和az:

var alphanum_range = (function() {  var data = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.split('');  return function (start,stop) {    start = data.indexOf(start);    stop = data.indexOf(stop);    return (!~start || !~stop) ? null : data.slice(start,stop+1);  };})();alphanum_range('A','Z').join();

或ascii范围内的任何字符。通过使用缓存的阵列,它比每次构建阵列的功能都快。

var ascii_range = (function() {  var data = [];  while (data.length < 128) data.push(String.fromCharCode(data.length));  return function (start,stop) {    start = start.charCodeAt(0);    stop = stop.charCodeAt(0);    return (start < 0 || start > 127 || stop < 0 || stop > 127) ? null : data.slice(start,stop+1);  };})();ascii_range('A','Z').join();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号