2016-04-02 9 views
0

私はコマンドラインで簡単なニューラルネットワークを書き直すつもりですので、ここからNPMのいろいろなことに遭遇することはありません!アレイから余分なものを取り除く

問題は余分なものがアレイに追加されることです。私は個人的な理由から正規表現を書くことを拒否します。重要ではないと言ってみましょう。

var gulp = require('gulp'); 

gulp.task('default', function() { 

    var trainingSet = "001111101011", 
    neuralNetworkStrength = 3; 

    var neuralNetwork = []; 

    // e)ssential for loop 
    for (var e = 0; e <= (trainingSet.length/neuralNetworkStrength); e++){ 

     neuralNetwork[e]= trainingSet.substr(e*neuralNetworkStrength,neuralNetworkStrength); 

    } 


    console.log(neuralNetwork); // [ '001', '111', '101', '011', '' ] 



}); // I will eventually remove gulp so I own rights to the code. 
+2

"私は個人的な理由のための正規表現を書くことを拒否。" - 厄介な正規表現はあなたを子供として傷つけましたか? – Dai

+0

Array.prototype.filterを使用して、空の文字列をフィルターにかけることができます – thangngoc89

+1

*「私は個人的な理由で正規表現を書くことを拒否します」* - アレルギー? – nnnnnn

答えて

4

あなたのアルゴリズムは間違っています。ループ内で<=演算子の代わりに<演算子を使用する必要があります。

全コード:

var trainingSet = "001111101011", 
neuralNetworkStrength = 3; 

var neuralNetwork = []; 

// essential for loop 
for (var e = 0; e < (trainingSet.length/neuralNetworkStrength); e++){ 

    neuralNetwork[e]= trainingSet.substr(e * neuralNetworkStrength,neuralNetworkStrength); 

} 


console.log(neuralNetwork); 
+1

'<=' * facepalm * – TechnoCF

+0

thangngoc89私はあなたがこれを解決する最も簡単な方法を見つけたことをうれしく思っています。私は最後に手書きやarray.prototypeの束で何かを書かなければならないのは嫌です。ありがとうございました。 –

+0

@ tylerl-uxaiあなたの問題を解決したことがわかったら、私の答えを受け入れるようにマークしてください – thangngoc89

2

があなたの<とループの中<=を交換してください...私たちは進んでみましょう。それはあなたの問題を解決するはずです。

+0

これですべてのケースがカバーされますか? – thangngoc89

+0

@ thangngoc89これで今この問題が解決されます。彼は彼の質問にはあまり特化していません。 – TechnoCF

+0

私は貧しい友人を傷つけたくありません!彼の脳から何かを取り除かずに、どうすればいいですか? *雷の亀裂*ワッハッハ! –

関連する問題