2017-10-26 3 views
0

次の値を持つ配列があります。私はこれをSQL検索に使用します。同じものを開始するnode.js配列の項目を削除します

var arr = ["ann%", "annie%", "aine%", "pat%", "annabelle%","patrick%" ] 

SQLに複製される値を削除します。この例では、"annie%""annabelle%""patrick%"の結果は、"ann%""pat%"の検索で見つけられますので、それらは必須ではありません。

このような配列を元の配列から返すnode.jsコードが必要です。

var arr1 = ["ann%", "aine%", "pat%" ] 
+0

は、スタックオーバーフローへようこそ。この質問を更新して回答を得る機会を増やす方法についてのヒントについては、[よくある質問をどうやって質問しますか](https://stackoverflow.com/help/how-to-ask)をご覧ください。 – Kryten

答えて

0

あなたはこのようなものでfilter()some()を使用することができます - 完全一致をフィルタするかわからない作り:

var arr = ["ann%", "annie%", "aine%", "pat%", "annabelle%","patrick%" ] 
 

 
arr2 = arr.filter(testEl => !arr.some(item => item !== testEl && testEl.startsWith(item.replace('%','')))) 
 
console.log(arr2)

+0

優秀、ありがとう! – user2035174

+0

配列内の値に '%'がない場合でも、この同じコードが機能します。しかし、あなたが '%'を持っていないことが分かっているなら、 '.replace( '%'、 '')'を削除することで短縮できます。 'testEl.startsWith(item)' –

関連する問題