Number Array JS
Здравейте ,
Може ли някой да ми каже къде са ми грешките , защото в judge ми дава 40/100 , а пък си работи и с двата inputa .
https://pastebin.com/CmMMcKKF
Ето условието https://pastebin.com/x8QCW0Pr
Здравейте ,
Може ли някой да ми каже къде са ми грешките , защото в judge ми дава 40/100 , а пък си работи и с двата inputa .
https://pastebin.com/CmMMcKKF
Ето условието https://pastebin.com/x8QCW0Pr
Грешки: след End не печаташ положителните, както е по условие, на едно място индекса не беше валидиран до <length, при Sum освен сумата, печаташ и всички числа, което не се иска.
function solve(arr) {
    let numbers = arr.shift().split(' ').map(Number);    
    for (let iterator of arr) {
        let [command, index, value] = iterator.split(' '); 
        value = Number(value);			
        if (command === 'End') {
            break;
        }		
        if (command === 'Switch') {            
            swich(+index);
        }		
        if (command === 'Change') {            
            change(+index, value);
        } 
        if (command === 'Sum') {
	    let currentNumbers = [];
            if (index === 'Negative') {
                currentNumbers = numbers.filter(n => n < 0); 
            } else if (index === 'Positive') {
                currentNumbers = numbers.filter(n => n >= 0);
            } else if (index === 'All') {
                 currentNumbers = numbers.slice();
            }			
	    let sum = 0;
	    for (let num of currentNumbers) { 
                sum += num;
            }
            console.log(sum);            
        } 
    }
	console.log(numbers.filter(n => n >= 0).join(' '));
 
    function swich(index) {        
        if (index >=0 && index < numbers.length) {
	    numbers[index] = - numbers[index];            
        } 
    }
 
    function change(index, value) { 
        if (index >= 0 && index < numbers.length) {
            numbers[index] = value;
        }
    } 
}
Мерси много за споделеното решение!