如何显示包含开头以大写字母开头的字符串的列表

时间:2017-04-13 16:19:21

标签: javascript jquery

我有点超出我的深度,我希望这实际上是可能的。

我希望能够调用一个重新排列我的列表的函数,以便以大写字母开头的项目首先出现

我一直在查看stackoverflow和谷歌搜索一段时间没有任何东西。有什么想法吗?

例如,var items = [banana,Apple,Mango,pineapple,Melon]

该功能应该将Apple Mango和Melon放在首尾,因为它们以大写字母开头

4 个答案:

答案 0 :(得分:3)

var items = ["banana", "Apple", "Mango", "pineapple", "Melon"]

items.sort();

alert(items)

您可以在此fiddle

中看到它的实际效果

这样做的原因是大写字母在ascii table的小写字母之前。因此,当您对列表进行排序时,它会根据字符串的ascii值进行排序。

答案 1 :(得分:2)

您可以查看第一个字符并检查它是否为小写字母,然后将其排序到最后。它不会按整个字符串对列表进行排序。

此提案对Array#sort使用排序函数,该函数返回排序值。该值表示两个元素之间的关系。

var items = ['banana', 'Apple', 'Mango', 'pineapple', 'Melon', 'Apricot'];

items.sort(function (a, b) {
    return (a[0] === a[0].toLowerCase()) - (b[0] === b[0].toLowerCase());
});

console.log(items);

答案 2 :(得分:0)

这是您可以自定义的另一种方法。

redim

https://jsfiddle.net/jzvx2a12/1/

答案 3 :(得分:-1)

我对jquery的回答。您可以从javascript获取等效代码,但逻辑就在那里。

HTML:

<div class="waka">wa</div>
<div class="waka">we</div>
<div class="waka">wi</div>
<div class="waka">wo</div>
<div class="waka">wu</div>

JS:

var waka = '';
var weke = '';
var alert = '';
var i = 0;
$(".waka").each(function(){
   waka = $(this).html()[0]; // You get first char from all your data 
   weke = $(this).html()[0].toUpperCase();
    if( waka ==  weke ) {
   alert = alert + 'Data ' + i + ' Is uppercase <br />';
}
  else{
   alert = alert + 'Data ' + i + ' Is not uppercase <br />';
}
i = i+1;

});
$(".alert").html(alert);

https://jsfiddle.net/syb886fk/1/