22
Июл
2021

Почему не работает данный код [дубликат]

Вам будет дан массив целых чисел. Ваша задача - взять этот массив и найти индекс N, где сумма целых чисел слева от N равна сумме целых чисел справа от N. Если нет индекса, который мог бы сделать это, верните - 1. Должно выводить 3 (20 + 10 + 30 == 10 + 15 + 35) но выводит -1


    function findEvenIndex(arr){
      for(let key of arr) {
        let index = arr.indexOf(key); //3
        let value = arr.slice(0, index);//20 10 30
        let value2 = arr.slice(index + 1); //10 15 35
        
        if(value.length == 0 && value2.reduce((a, b) => a + b) == 0 ) {
            return 0
    
        } else if (value.length == 0 && value2.reduce((a, b) => a + b) !== 0) {
            continue
        }
        
        if(value2.length == 0 && value.reduce((a, b) => a + b) == 0) {
            return index
        } else if (value2.length == 0 && value.reduce((a, b) => a + b) !== 0) {
            continue
        }
        
        if(value.reduce((a, b) => a + b) == value2.reduce((a, b) => a + b)){
          return index;
        } 
      }
      return -1;
    }
    alert(findEvenIndex([20,10,30,10,10,15,35]))

Источник: https://ru.stackoverflow.com/questions/1307738/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BE%D0%B4

Тебе может это понравится...

Добавить комментарий