2016-04-02 126 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

更換<=在for循環與<。這應該能解決你的問題。

+0

你確定這會覆蓋所有的情況嗎? – thangngoc89

+0

@ thangngoc89現在這將解決這個傢伙的問題。他的問題並不是很具體。 – TechnoCF

+0

我不想傷害我可憐的朋友!我如何做到這一點,而不需要從他的大腦中刪除某些東西*閃電裂縫*哇哈哈! –