2016-11-17 6 views
0

文字列「apple_mango_banana」と{apple,mango}を含む配列があります。文字列に配列のすべての要素がJavascriptに含まれているかどうかを確認する方法

私の文字列に配列内のすべての要素が含まれているかどうかをチェックしたい場合は、その文字列と同じIDのdivを表示したいと思います。

+1

あなたの試みを追加して、こちらをご覧ください:[MCVE]。 –

+1

これまでに試したことのコードを投稿してください。何が間違っていて、何が助けを必要としているのですか?SOはコードを生成するコードファブリックではありません。 –

+0

split関数を使用して文字列を "_"で分割します。これにより新しい配列が作成され、配列がこの新しい配列のサブセットであるかどうかが確認されます。 これは、配列が別の配列のサブセットであるかどうかをチェックする方法です。 - http://stackoverflow.com/questions/14130104/how-do-i-test-if-one-array-is-a-subset- – Ezio

答えて

2

使用every()機能。 は、渡された関数がすべてのアイテムに対して真である場合はtrueを返します。

var str = 'apple_mango_banana'; 
 
var arr = ['apple','banana']; 
 

 
var isEvery = arr.every(item => str.includes(item)); 
 

 
console.log(isEvery);

+0

ieサポートはサポートされておらず、サポートはエッジ14からサポート – brk

+0

'includes'と' every'は 'ES6'機能です –

1

このような場合は、Array.everyを使用してください。 strについて、ARRとincludes()

var s = "apple_mango_banana"; 
 
var s1 = "apple_mago_banana"; 
 
var fruits = ["apple","mango"]; 
 

 
var allAvailable = fruits.every(function(fruit){ 
 
    return s.indexOf(fruit)>-1 
 
}); 
 

 
var allAvailable1 = fruits.every(function(fruit){ 
 
    return s1.indexOf(fruit)>-1 
 
}); 
 

 
console.log(allAvailable) 
 
console.log(allAvailable1)

1
var string="ax_b_c_d"; 
var array=['b','c','ax','d']; 

var arr=string.split("_"); 

if(array.sort().join("")==arr.sort().join("") && arr.length==array.length) 
{ 
console.log("match"); 
} 
+0

注文が変更された場合、これは動作しません。 '' banana_apple ''のように – Rajesh

関連する問題