2011-07-30 14 views
2

私はウェブ上で検索しましたが、私の問題を修正するのに幸運はありませんでした。私がしたいのは、配列の部分文字列を検索して結果を返すことです。配列の例は、このようなものです:私は何をしたいかJavascriptの部分文字列の配列を検索する

the_array = ["PP: com.package.id, NN: Package Name","PP: com.another.id, NN: Another Name"]; 

はそれが"PP:"","間に表示されていることを確認して作るcom.package.idの検索the_arrayです。配列には数千の値が含まれることにも注意してください。あなたが助けてくれることを願っています。

+1

を使用してアレイを通してループするだろうか?できることは、配列全体を繰り返し、各文字列を調べることだけです。 –

+0

可能な複製[JavaScriptでは、どのように部分文字列一致の配列を検索しますか?](http://stackoverflow.com/questions/4556099/in-javascript-how-do-you-search-an-array-for- a-substring-match) – ripper234

答えて

2

簡単な方法:

the_array.join("|").indexOf([str]) >= 0;

他の方法は、あなたが何をしようとしなかった.each()または単純forループ

Array.prototype.each = function(callback){ 
    for (var i = 0; i < this.length; i++){ 
     callback(this[i]); 
    } 
} 

the_array.each(function(elem){ 
    console.log(elem.indexOf('<searchString goes here>')); 
}); 
+0

'each'はJavaScript関数ではありません。 –

+1

FWIW、ECMAScript 5は 'forEach'を導入しました:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/foreachそこには代替実装があります。しかし、私には、「それぞれ」は問題に無関係であると思われます。 –

+0

はいとはい。 ES5はまだ普遍的にサポートされていないので、これらの回避策が必要です。 – Mrchief

関連する問題