Loading...
IvoArsov avatar IvoArsov 44 Точки

03.Three Integers Sum [JavaScript Basics - Lab]

Какво не съм настроил по IDE-то, че тоя код:

function threeIntegerSum(arr) {
    let nums = arr[0].split(' ').map(Number);

    console.log(
        check(nums[0], nums[1], nums[2]) ||
        check(nums[0], nums[2], nums[1]) ||
        check(nums[2], nums[1], nums[0]) ||
        "No"
    );

    function check(num1, num2, num3) {
        if (num1 > num2) {
            [num1, num2] = [num2, num1]
        }
        if (num1 + num2 == num3) {
            return `${num1} + ${num2} = ${num3}`
        }
    }
}

гърми с:

e:\Programs\Pure JS\Exes\03L.js:15
            [num1, num2] = [num2, num1]
            ^

ReferenceError: Invalid left-hand side in assignment
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

Node.js - инсталиран
ЕCMAScript 6 - настроен 

Тагове:
dimitur_botev avatar dimitur_botev 112 Точки

Не мога нещо да намеря условието в джъдж, та ако можеш коледа дай един линк. Иначе тази грешка която ти хвърля не е от IDЕ-то е а invalid left hand  с други думи, кара ти се ,че  не можеш да присвояваш по тоаи начин даденият израз към обкет/променлива. До колкото виждам казваш нещо от сорта на-някъв масив(буквално за интерпретатора е някъв) с елементи а b  = някъв масив с елементи b a , което е грешка, понеже интерпретатора няма идея какви са тия масиви и за това гърми. Това е нещо като грешка в компилация в .NET/JAVA и т.н.Ама ако дадеш линк, към условията на лаба ще съм благодарен понеже нещо не го намирам, а така хем ще ги имам хем ще ти помогна малко повече

0
20/06/2016 16:47:44
IvoArsov avatar IvoArsov 44 Точки

Условието на задачата е в слайда на лекцията, от който преписвам 1:1 и при мен .... гърми. В видеото към лекцията също е решена тая задача и там всичко е наред, пускам в judge - 100 точки.Следователно проблема е в моята щайга. Питам, защото ако не съм настроил нещо като хората, ще ми прави мизерии по нататък.

0
mustafov avatar mustafov 75 Точки

Коя версия на node.js си си изтеглил ?

0
IvoArsov avatar IvoArsov 44 Точки

v.4.4.5-x64 
Тази уж е Current version, която я предлага https://nodejs.org/en/download/.
Не знам, странна работа.

0
mustafov avatar mustafov 75 Точки

Когато влезеш в сайта https://nodejs.org/en/ изтегли отдясно v6.2.2 Current (Latest features) и си го инсталирай.

1
20/06/2016 17:15:18
dimitur_botev avatar dimitur_botev 112 Точки

Прощавай малко не обърнах внимание на скоупа. Както и да е, явно проблема е от node и по някаква причина засича грешка в този израз със масивите. Най-вероятно идва от версията която си сложил, за да има проблем със синтаксиса. Това са предоложения, но може би там се крие пробема, щом тръгва на сървара на judge а при тебе гърми. Виж дали версията ти е най-новата и какво от ECMAScript 6 се подържа. Дано да съм бил поне малко полезен, щото  с тия стандарти е пълна каша

1
20/06/2016 17:22:52
IvoArsov avatar IvoArsov 44 Точки

Тръгна с 6.2.2. 
Благодаря на всички.

0
tihomirj avatar tihomirj 33 Точки

Изтеглил си по-стара версия на node.js, която не поддържа т.нар "Destructuring Assignment Array Matchings". Пробвай да стартираш скрипта в Chrome.  В Chrome би трябвало да върви (ако не ти е много стар браузъра). Обаче в WebStorm не ти върви, защото използваш node v.4.4.5. Пробвай да си инсталираш Node v6.2.2, който поддържа тази благинка на ES6.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.