2016-07-27 3 views
4

コード:配列名から「s」を含む名前を取得する方法- Javascriptを、ES6

let names= ["Style","List","Raw"]; 
let results= names.find(x=> x.includes("s"); 
console.log(results); // 

は、 は現在、私は結果として一つだけの要素を取得しています私はすべての出現が必要です。

答えて

15

あなたは私たちが持っている、あなたはそれがその後、以下のコードを使用して大文字と小文字を区別したい場合に敏感な場合をそれにするために、

let names= ["Style","List","Raw"]; 
let results= names.filter(x => x.includes("s")); 
console.log(results); //["List"] 

、この文脈で

let names= ["Style","List","Raw"]; 
let results= names.filter(x => x.toLowerCase().includes("s")); 
console.log(results); //["Style", "List"] 

filterを使用する必要があります文字列の文字をすべて小文字にする。

1

findの代わりにfilterを使用します。

let names= ["Style","List","Raw"]; 
let results= names.filter(x => x.includes("s")); 
console.log(results); 
0

しかし、あなたはまたのforEach()メソッドを使用することができます

var names = ["Style","List","Raw"]; 
var results = []; 
names.forEach(x => {if (x.includes("s") || x.includes("S")) results.push(x)}); 
console.log(results); // [ 'Style', 'List' ] 

をそれとも、prefere場合:

names.forEach(x => {if (x.toLowerCase().includes("s")) results.push(x)}); 
+0

あなたはforEachの中で何をしているかのフィルタを使用する場合は、フィルタによって行われます。 Filterは配列を返しますが、forEachは何も返しません。だからそれはより良い読み取り可能です:) – Vatsal