5

如何以逗号 (,) 以某种方式拆分/分隔我的 JavaScript 变量。
然后检查是否value-of-any-of-the-separated-strings = "something"

例如,我的变量的值为1,2,3,4,5,6,7,8,9,10,2212312,我想检查是否有任何数字= 7在 IF 语句中。

有谁知道如何做到这一点?

4

8 回答 8

17

首先,将字符串拆分为",". 然后,indexOf在拆分字符串数组上使用以查看是否找到目标字符串(-1表示在数组中未找到它)。例如:

var str = "1,2,3,4,5,6,7,8,9,10,10,2212312";
var split_str = str.split(",");
if (split_str.indexOf("7") !== -1) {
    // Original string contains 7
}

参考:

于 2012-10-05T14:04:37.993 回答
5

这是一个简单的应用Array.prototype.some

var yourVar = '1,2,3,4,5,6,7,8,9,10,2212312';
function isSeven(val) {
    return val === '7';
}
if (yourVar.split(',').some(isSeven)) {
    //do stuff
}

另一种常见的写法是:

if (~yourVar.split(',').indexOf('7')) {
    //do stuff
}

或者如果Array.prototype.contains已经定义:

if (yourVar.split(',').contains('7')) {
    //do stuff
}

或者,如果您想使用正则表达式:

if (/(?:^|,)7(?:,|$)/.test(yourVar)) {
    //do stuff
}

注意: Array.prototype.some ,Array.prototype.indexOf并且Array.prototype.contains都需要 polyfill 才能跨浏览器正常工作。

于 2012-10-05T14:07:30.260 回答
1

将其拆分为一个数组,然后使用 indexOf 来查看它是否存在。如果它返回 -1,则不是。

"1,2,3,4,5,6,7,8,9,10,2212312".split(",").indexOf("7")
于 2012-10-05T14:05:20.753 回答
0

使用splitArray.indexOf()

var str = "1,2,3,4,5,6,7,8,9,10,2212312";
var num = 7;
var pieces = str.split(",");
var index = pieces.indexOf(num.toString());

也可以用正则表达式来完成

var str = "1,2,3,4,5,6,7,8,9,10,2212312";
var num = 7;    
var re = new RegExp("(^|,)" + num + "($|,)");
alert(re.test(str));

jsFiddle 示例

于 2012-10-05T14:05:24.247 回答
0

split一起使用indexOf

var someString = '1,2,3,4,5,6,7,8,9,10,2212312';
var splitArray = someString.split(',');
var sevenPosition = splitArray.indexOf('7');

http://jsfiddle.net/jbabey/f4NLY/

于 2012-10-05T14:06:15.373 回答
0

您可以使用Array.filter,例如:

var values = '1,2,3,4,5,6,7,8,9,10,2212312'.split(','), find = 7;
if ( values.filter(function(a){return +a === find;}).length ) { /* ... */ }
于 2012-10-05T14:09:16.210 回答
0

男人,我希望它会帮助你。

    var yourValues = '1,2,3,4,5,6,7,8,9,10,2212312';
    var array = yourValues.split(",");
    boolean isValue = false;
    for(i in array)
    {
       if(array[i]=='7')
       {
             isValue=true;
       }
    }


    if(isValue)
        alert("your number is in the string");
    else
        alert("your number is in the string");
于 2012-10-05T14:20:37.850 回答
-2

您是否正在寻找“包含”功能。您可以为此使用 jQuery。

if ($.inArray(7, value-of-any-of-the-seperated-strings))
{
   console.log("there is a 7!")
}
于 2012-10-05T14:06:34.223 回答