5

JavaScript 変数をカンマ (,) で分割/分離するにはどうすればよいですか。
そして、value-of-any-of-the-separated-strings = "something"

たとえば、私の変数の値は で、数値のいずれかがIF ステートメントに含まれて1,2,3,4,5,6,7,8,9,10,2212312いるかどうかを確認したいと考えています。= 7

これを行う方法を知っている人はいますか?

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.indexOfArray.prototype.contains

于 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

男私はそれがあなたを助けることを願っています.

    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 に答える
0

分割Array.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 に答える
-2

「含む」機能を探していますか。これには jQuery を使用できます。

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