2017-01-17 5 views
-1

jquery配列に特定の文字列が存在するかどうかチェックする必要があります。このため、私は次のコードを書いています。しかし、それは動作していません。助けてください 。配列内の部分文字列を調べるJquery

$(document).ready(function() { 
    var ar = ["color1:white", "color2:black"]; 

    if ($.inArray("black", ar) > -1) { 
     alert("yes"); 
    } else { 
     alert("no"); 
    } 
}); 

。黒の色を確認する必要があります。助けてください。

+0

'jqueryのarray'は何を? –

+0

申し訳ありませんが、私のコードのエラーは何ですか?理解できませんでした 。 –

+0

inArray私は既に使用しています –

答えて

1

jqueryの使用する必要はありません:

var arr = ["color1:white","color2:black"].map(x => x.split(':')[1]); 
 

 
console.log(arr); 
 
console.log(arr.indexOf('black') > -1 ? 'yes' : 'no');

+0

配列で '$ .inArray'が動作する方法ではなく、この2つの値だけでなく多くの値を含みます。たとえば、var ar = ["color1:white"、 "color2:black"、 "color3:red:yes"、 "class-test:div:append"]; –

+0

@ Jafartm [forEach()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)メソッドを使用しようとしています。何かのように: 'arr.forEach(x => console.log(x.indexOf( 'substring'))))' –

0

配列に値が正しく割り当てられているかどうかを確認してください。コードの下に試してみてください。

if ($.inArray("black", ar) !== -1) { 
    alert("yes"); 
} 
else { 
    alert("no"); 
} 
+0

これは、すべての –

関連する問題