置顶

js按首字母查找人名,js查找文字

作者:hacker | 分类:黑客业务 | 浏览:155 | 日期:2023年04月10日

目录:

*** 按照开头首字母排序

//1.把你要排序的字符串放到一个数组里(如下:array)

//2.然后array调用一下sort() *** 就可以了

script language="javascript"

var array = ['AC700' ,' AB621' ,' C752B ', 'D5657'];

array.sort();

/script

*** 函数重载

所谓 函数重载(method overloading) ,就是函数名称一样,但是输入输出不一样。或者说,允许某个函数有各种不同输入,根据不同的输入,返回不同的结果。凭直觉, 函数重载 可以通过 if…else 或者 switch 实现,这就不去管它了。jQuery之父John Resig提出了一个非常巧(bian)妙(tai)的 *** ,利用了闭包。

从效果上来说, people 对象的 find *** 允许3种不同的输入: 0个参数时,返回所有人名;1个参数时,根据firstName查找人名并返回;2个参数时,根据完整的名称查找人名并返回。

难点在于, people.find 只能绑定一个函数,那它为何可以处理3种不同的输入呢?它不可能同时绑定3个函数 find0 , find1 与 find2 啊!这里的关键在于 old 属性。

由addMethod函数的调用顺序可知,people.find最终绑定的是find2函数。然而,在绑定find2时,old为find1;同理,绑定find1时,old为find0。3个函数find0,find1与find2就这样通过闭包链接起来了。

根据 addMethod 的逻辑,当 f.length 与 arguments.length 不匹配时,就会去调用 old ,直到匹配为止。

javascript中文按照拼音首字母排序,如何实现?

中文拼音排序一直都是很有趣的一个问题。推荐使用这个函数 String.prototype.localeCompare(),链接 MDN。首先用 localeCompare 试下拼音排序

var array = ['武汉', '北京', '上海', '天津'];

array.sort(

function compareFunction(param1, param2) {

return param1.localeCompare(param2);

}

);

array // ["北京", "上海", "天津", "武汉"]

然后根据 26 个英文字母分组排序,函数如下,

function pySegSort(arr) {

if(!String.prototype.localeCompare)

return null;

var letters = "*abcdefghjklmnopqrstwxyz".split('');

var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');

var segs = [];

var curr;

letters.forEach(function(item,i){

curr = {letter: item, data:[]};

arr.forEach(function(item2){

if((!zh[i-1] || zh[i-1].localeCompare(item2) = 0) item2.localeCompare(zh[i]) == -1) {

curr.data.push(item2);

}

});

if(curr.data.length) {

segs.push(curr);

curr.data.sort(function(a,b){

return a.localeCompare(b);

});

}

});

return segs;

}

测试:

pySegSort(["我","不","懂","爱","啊","按","已","呀","选","县"])

结果:

[{"letter":"a","data":["啊","爱","按"]},{"letter":"b","data":["不"]},{"letter":"d","data":["懂"]},{"letter":"w","data":["我"]},{"letter":"x","data":["县","选"]},{"letter":"y","data":["呀","已"]}]

var arr = ["张三","李四","王五","阿三"]; 

document.write(arr+"");

arr.sort(function(a,b){

return a.localeCompare(b);

});

document.write(arr);

定义和用法:

用本地特定的顺序来比较两个字符串。

语法:

stringObject.localeCompare(target)

参数描述:

target    要以本地特定的顺序与 stringObject 进行比较的字符串。  

返回值:

说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该 *** 返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该 *** 返回 0。

说明:

把 和 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种 *** 生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。

localeCompare() *** 提供的比较字符串的 *** ,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。

参考资料

百度知道.百度知道[引用时间2018-1-5]

js怎么获取一个汉字的首字母

1、新建一个html文件js按首字母查找人名,命名为test.html。

2、在test.html文件内js按首字母查找人名,在p标签内js按首字母查找人名,使用input标签创建一个字符串输入框。

3、在test.html文件内js按首字母查找人名,设置input元素的id为myinputjs按首字母查找人名,主要用于下面通过该id获得input对象。

4、在test.html文件内,使用button标签创建一个按钮。

5、在test.html文件中,给button按钮绑定onclick点击事件,当按钮被点击时,执行getlast()函数。

6、在js标签中,创建getlast()函数,在函数内,通过getElementById() *** 获得input对象。

7、在浏览器打开test.html文件,点击按钮,查看结果。

纯 *** 输入提示,如何按照数组的首字母开始搜索,而不是全文匹配。

如果元素的设了name="aaa"

刚document.getElementsByName("aaa")就一定是数组

多个素重名也用document.getElementsByName("aaa")语句取得一个数组。

通过document.getElementsByName("aaa")[0].value来取得指定元素的值。

如果元素设定了id="aaa"

document.

getElementById

("aaa")则就是单个元素。

直接用document.getElementById("aaa").value就能取得元素的值。

ID是唯一的。

发表评论

访客 游客 2023-04-11 · 回复该评论
上来说, people 对象的 find 方法允许3种不同的输入: 0个参数时,返回所有人名;1个参数时,根据firstName查找人名并返回;2个参数时,根据完整的名称查找人名并返

访客 游客 2023-04-10 · 回复该评论
;curr.data.sort(function(a,b){return a.localeCompare(b);});}});return segs;}测试:pySe

取消
微信二维码
支付宝二维码