2016-08-07 7 views
0

矢印関数内で空の配列に文字列値を押すarray.prototype.reduce:「E」私は手紙のない番号に配列を低減し、次のコードを持っている

var numbers = ["one", "two", "three", "four", "five", "six", 
       "seven", "eight", "nine", "ten", "eleven"]; 
var reduced = numbers.reduce(function(reducedArray, number) { 
    if (number.toString().indexOf("e") === -1) { 
    reducedArray.push(number); 
    } 
    return reducedArray; 
}, []); 

すべてが正常に動作しています。 reducedArrayが定義されていないと私はこれまで任意の解決策を見つけることができなかったので、今は、矢印-機能

var reduced = numbers.reduce((reducedArray, number) => { 
    if (number.indexOf('e') === -1) { 
    reducedArray.push(number); 
    } 
}, []); 

しかし、これは動作しないで、同じコードをしたいです。

+0

は、あなたがそれを返す必要が –

+1

'VAR減少= numbers.reduce(((reducedArray、数)=>(number.indexOf( 'E') === -1 && reducedArray.push(number)、reducedArray))、[]]; ' –

+0

なぜそれがはるかに難しいのですか? –

答えて

3

配列を返さないため、コードが機能しません。しかし、あなたは代わりにfilterを使用する必要があります。

var numbers = ["one", "two", "three", "four", "five", "six", 
 
       "seven", "eight", "nine", "ten", "eleven"]; 
 
var reduced = numbers.filter(number => !number.includes("e")); 
 
console.log(reduced);

関連する問題