Başlık özetler.jQuery.inArray() büyük/küçük harf duyarlı değil mi?
cevap
Sen each( kullanabilirsiniz) ...
// Iterate over an array of strings, select the first elements that
// equalsIgnoreCase the 'matchString' value
var matchString = "MATCHME".toLowerCase();
var rslt = null;
$.each(['foo', 'bar', 'matchme'], function(index, value) {
if (rslt == null && value.toLowerCase() === matchString) {
rslt = index;
return false;
}
});
Hayır. Verilerinizle uğraşmanız gerekecek, genellikle tüm dizelerimi kolay karşılaştırmalar için küçültüyorum. Ayrıca, karşılaştırma durumunu duyarsız hale getirmek için gerekli dönüşümleri yapacak özel bir karşılaştırma işlevi kullanma olasılığı da vardır.
dizi boyunca ve her eleman tolower ve aradığınızı tolower, ama zamanla bu noktada döngü, siz de sadece yerine inArray kullanmanın karşılaştırabilirsiniz olabilir()
Bunun için kendi çözümünüzü uygulamak zorunda kalabilirsiniz gibi görünüyor. Here, jQuery'ye özel işlevler ekleme hakkında iyi bir makaledir. Dönmek ve verileri normalleştirmek ve karşılaştırmak için özel bir işlev yazmanız gerekecektir.
@Drew Wills'e teşekkür ederiz. Böyle görevler için underscore kullanmayı tercih
function inArrayCaseInsensitive(needle, haystackArray){
//Iterates over an array of items to return the index of the first item that matches the provided val ('needle') in a case-insensitive way. Returns -1 if no match found.
var defaultResult = -1;
var result = defaultResult;
$.each(haystackArray, function(index, value) {
if (result == defaultResult && value.toLowerCase() == needle.toLowerCase()) {
result = index;
}
});
return result;
}
Bu benim için mükemmel çalıştı. – Alan
Bu gün:
bu kadar yeniden yazdım
: vaka herkes jquery kullanarak daha entegre bir yaklaşım istedia = ["Foo","Foo","Bar","Foo"];
var caseInsensitiveStringInArray = function(arr, val) {
return _.contains(_.map(arr,function(v){
return v.toLowerCase();
}) , val.toLowerCase());
}
caseInsensitiveStringInArray(a, "BAR"); // true
yılında
(function($){
$.extend({
// Case insensative $.inArray (http://api.jquery.com/jquery.inarray/)
// $.inArrayIn(value, array [, fromIndex])
// value (type: String)
// The value to search for
// array (type: Array)
// An array through which to search.
// fromIndex (type: Number)
// The index of the array at which to begin the search.
// The default is 0, which will search the whole array.
inArrayIn: function(elem, arr, i){
// not looking for a string anyways, use default method
if (typeof elem !== 'string'){
return $.inArray.apply(this, arguments);
}
// confirm array is populated
if (arr){
var len = arr.length;
i = i ? (i < 0 ? Math.max(0, len + i) : i) : 0;
elem = elem.toLowerCase();
for (; i < len; i++){
if (i in arr && arr[i].toLowerCase() == elem){
return i;
}
}
}
// stick with inArray/indexOf and return -1 on no match
return -1;
}
});
})(jQuery);
- 1. GetElementsByTagName, büyük/küçük harfe duyarlı değil mi?
- 2. harf duyarlı RLIKE
- 3. PHP büyük/küçük harfe duyarlı değil mi?
- 4. büyük harf duyarlı dizi_dizisi
- 5. Büyük/küçük harf duyarlı Sorgu
- 6. büyük harf duyarlı arama neo4j
- 7. Sanal dizin yolu büyük/küçük harf duyarlı görünebilir mi?
- 8. CrafterCMS'de, motor büyük/küçük harf duyarlı olmayan URL'leri kullanabilir mi?
- 9. JSON Unicode çıkış dizisi - küçük harf mi yoksa değil mi?
- 10. Nasıl yapılır .htaccess kural büyük/küçük harfe duyarlı değil mi?
- 11. MySQL büyük küçük harf duyarlı DISTINCT
- 12. ElasticSearch: query_string büyük küçük harf duyarlı ve joker karakter büyük/küçük harf duyarlı?
- 13. PHP - Büyük/küçük harf duyarlı Dosya Arama
- 14. Büyük/küçük harf duyarlı Scala ayrıştırıcı-birleştirici
- 15. Büyük/küçük harf duyarlı Lua desen eşlemesi
- 16. EJB3 büyük/küçük harf duyarlı ek açıklamalar
- 17. Rails'deki büyük/küçük harf duyarlı group_by? Tamam
- 18. Büyük/küçük harf duyarlı NSString karşılaştırması
- 19. Kültür duyarlı büyük harf ToUpperInvariant/ToLowerInvariant
- 20. Pandalar: Sütun adı, büyük/küçük harf duyarlı
- 21. jessenger mongodb büyük harf duyarlı sorgu arama
- 22. Bash değişkenleri: büyük/küçük harfe duyarlı mı değil mi?
- 23. Büyük/küçük harf duyarlı "gsub" yapmak mümkün mü?
- 24. WPF ComboBox - büyük/küçük harf duyarlı veri bağlama
- 25. Java SAX ile XML ayrıştırmak, büyük/küçük harf duyarlı.
- 26. Git'te büyük/küçük harf duyarlı bir normal ifadeyi nasıl yaparım?
- 27. Linq: Bir harf duyarlı veritabanı ile SQL Server 2005 kullanıyorum
- 28. Cümle içinde arama yapmak için normal ifadeleri nasıl kullanabilirim? Büyük/küçük harf duyarlı değil
- 29. Büyük/küçük harf duyarlı değil C# ifadesinde normal ifadeyi kullanmadan mı?
- 30. C# - AutoMapper'ın büyük/küçük harf duyarlı olması nasıl yapılır?
"Return false;" ifadesini eklemek istersiniz. bunun sonunda, eğer ifade eden bir eleman bulunduğundan, 'her' ifadesi devam etmez. (JQuery.each() "false döndürür;", normal bir JavaScript döngüsünde "break" e eşdeğerdir.) –
toLowerCase toLower yerine değil mi? – Sarfraz
@Jordan ve @Sarfraz: her iki iyi nokta –