繁体   English   中英

如何检查字符串是否是数组中任何元素的子字符串

[英]How to check if a string is a substring of any element in an array

我有一个阵列

var months = ["January", "February", "March", "April", \
    "May", "June", "July", "August", "September", "October", \
    "November", "December"];

我有“Nov”,“October”,“Jun”,“June”,“Sept”,“Sep”等字符串。重点是,字符串可以是其中一个月的子字符串。

将字符串作为数组元素的子字符串进行比较的最佳方法是什么? 我如何找出当月的指数?

我在看javascript / jQuery。

我知道我可以通过search找到每个元素的数组检查,并在找到时中断。 我想要更好的东西。

var month_index = function(target) {
        target = target.toLocaleLowerCase();
        return jQuery.inArray(true, jQuery.map(months, function(s) {
            return s.toLocaleLowerCase().indexOf(target) > -1;
        }))
    };

var index_of_october = month_index("oct");
var  substr = 'nov', months = ["december", "november", "feb"];

var index = months.indexOf( months.filter(function(v){ return v.indexOf(substr) >= 0;})[0]);
alert(index)

http://jsfiddle.net/KeMe9/

将您的数组项目放在小写字母中

var txt = "Sep";
var found = false;
txt = txt.toLowerCase();
  for (var i = 0; i < 12; i++) {
    if (months[i].indexOf(txt) > -1) {
        found = true;
        break;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM