我有点超出我的深度,我希望这实际上是可能的。
我希望能够调用一个重新排列我的列表的函数,以便以大写字母开头的项目首先出现
我一直在查看stackoverflow和谷歌搜索一段时间没有任何东西。有什么想法吗?
例如,var items = [banana,Apple,Mango,pineapple,Melon]
该功能应该将Apple Mango和Melon放在首尾,因为它们以大写字母开头
答案 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)
答案 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);