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

我不想伤害我可怜的朋友!我如何做到这一点,而不需要从他的大脑中删除某些东西*闪电裂缝*哇哈哈! –