JavaScript のフィルター文字列
-
Arrow
関数でfilter()
メソッドを使用して、JavaScript で文字列をフィルター処理する -
filter()
メソッドでindexOf()
メソッドを使用して、JavaScript で文字列をフィルタリングする -
filter()
メソッドでtest()
メソッドを使用して、JavaScript で文字列をフィルタリングする -
include()
メソッドをfilter()
メソッドと共に使用して、JavaScript で文字列をフィルタリングする
文字列のさまざまな配列要素を処理し、適切な一致を抽出する場合、複数の方法に依存できます。 JavaScript の基本的な filter()
メソッドがプロセスを開始し、後で好みに応じて他のメソッドを選択できます。
find()
や findIndex()
メソッドのような他の規則も一致を取得できることに注意する必要があります。 ただし、これらの関数は、一致した文字列のインデックスの数のみを返します。 これらは、配列文字列で検査される特定のパターンのシーケンスを返すことはできません。
また、これらを使用して、追加の条件で適合させて、一致したシーケンスを取得することもできます。
ここでは、基本的な矢印操作と特定の条件で filter()
メソッドを使用して説明します。 また、indexOf()
、test()
、および include()
メソッドを使用して、指定されたパターンを満たす文字列を取得する方法についても説明します。
これらのメソッドのすべてが文字列を直接返すわけではありません。 したがって、それらを filter()
メソッドに組み込んで配列要素を追跡します。
Arrow
関数で filter()
メソッドを使用して、JavaScript で文字列をフィルター処理する
この場合、文字列要素を持つ配列を選択します。 filter()
メソッドは各要素を繰り返し処理し、条件が アロー関数 で適用された条件と一致するかどうかを確認します。
ここでは、タスクに必要なコードは数行だけです。 それを確認しましょう。
コードスニペット:
var myArray = ['abadef', 'sbade', 'psadbe']
filtered = myArray.filter(x => x.length <= 5)
console.log(filtered)
出力:
ご覧のとおり、長さが 5
以下の文字列要素のみが選択される候補になるという制限を追加しました。 そして、その仕様に基づいて、出力が導き出されました。
filter()
メソッドで indexOf()
メソッドを使用して、JavaScript で文字列をフィルタリングする
複数の文字列要素を持つ同じ分類された文字列配列で作業します。 この場合、指定された文字列と一致させたい文字列のパターンを選択します。パターンのスーパーセットである文字列は、対象となる文字列要素です。
indexOf()
メソッドは通常、パターンが見つかる文字列のインデックスを返します。 ただし、この場合、文字列を配列要素として使用しているため、どの要素が一致しても、関数は要素の文字位置の先頭からインデックスのカウントを開始します。
例では選択した要素のみを示していますが、単語を再確認してみてください。
コードスニペット:
var myArray = ['abadef', 'sbade', 'psadbe'];
var PATTERN = 'sad',;
filtered = myArray.filter(function(str) {
return str.indexOf(PATTERN) !== -1;
});
console.log(filtered)
出力:
filter()
メソッドで test()
メソッドを使用して、JavaScript で文字列をフィルタリングする
JavaScript の test()
関数は true
または false
を返します。 このメソッドを filter()
メソッドに組み込むと、一致した文字列要素が filtered
オブジェクトの新しい要素として取得されます。
また、注目すべきセクションは、test()
メソッドが RegExp
を要素と照合することです。
コードスニペット:
var myArray = ['abadef', 'sbade', 'psadbe']
var PATTERN = /bad/,
filtered = myArray.filter(function(str) {
return PATTERN.test(str);
});
console.log(filtered)
出力:
include()
メソッドを filter()
メソッドと共に使用して、JavaScript で文字列をフィルタリングする
ここで、includes()
メソッドはブール形式で返されますが、この場合、一致するパターンは正規表現ではなく文字列になる可能性があります。 ここでも、filter()
メソッドを使用して配列要素を繰り返し処理し、受け入れられたケースを取得します。
それでは、コードフェンスにジャンプしましょう。
コードスニペット:
var myArray = ['abadef', 'sbade', 'psadbe']
var PATTERN = 'ef',
filtered = myArray.filter(function(str) {
return str.includes(PATTERN);
});
console.log(filtered)
出力: