Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

martinski avatar martinski 66 Точки

JavaScript Basic[Exercises] 12.Multiple Values for a Key

Здравейте колеги. На въпросната задача успях да напиша код ,който изкарва само 33т.в Judge-a.Изкрава един излишен ред(undifined), който не мога да разбера откъде се получава.Ето и кода Цък .
 Ще се радвам на малко помощ от ваша страна :)

Тагове:
alecc avatar alecc 12 Точки

Здравей,

Не съм напълно сигурен къде точно ти е грешката и може и да те подведа.
Затова ще ти дам моето решение и се надявам да ти помогне.
 

2
M0MCHIL avatar M0MCHIL 1 Точки

Здрасти alecc,

Може ли да дадеш малко разяснения по този ред: dict[key] = dict[key] || [];

Благодаря.

0
alecc avatar alecc 12 Точки

Здрасти,

Просто при добавяне на стойност за дадения ключ проверявам дали има стойност и ако няма да сложи празен масив. Предположих,че undefined || [] ще е същото като undefined || 0 както Наков го обясни в лекцията.

1
M0MCHIL avatar M0MCHIL 1 Точки

А ако има стойност, ще я замени с новата стойност при следващата итерация?

0
mustafov avatar mustafov 75 Точки

Здравей колега, 

разгледах ти кога и мисля че знам къде ти е проблема.  Когато влезе в тук if (key === lastKey)  веднага може да сложеш  isFound = true, след това if (result[key] in result) трябва да ти е if (key in result) дефакто дали key се съдъжа в results и ако се съдържа  result[key] += '\n'+value, а в другия случай ако ключът още го няма в result го слагаш result[key] = value.

Поздрави, Севгин.

1
martinski avatar martinski 66 Точки

Благодаря за разясненията. Пообъркал съм логиката,но се получи след корекциите:)

0
19/06/2016 22:06:58
alpepe avatar alpepe 0 Точки

Ще пиша тук за да не отвярам нова тема. На мен също ми да ва 33т. Имам същият проблем като твоя, но не мога да ви видя кодовете, от линковете които сте постнали.

Ето ми и кода!

function myFunction(text) {
    let array=[]
    for(let i=0; i<text.length-1; i++) {
        let tempArr = text[i].split(' ')
        if(tempArr[0]==undefined){
        array[tempArr[0]]=tempArr[1]
        }
        else{
        array[tempArr[0]]=array[tempArr[0]]+"\n"+tempArr[1]
        }
        
    }
    let key= text[text.length-1]
    if(array[key]==undefined)
        console.log('None')
    else{
    console.log(array[key])
    }
}

0
alpepe avatar alpepe 0 Точки

Благодаря за кода, малко по разлиучно решение от мойто, но дава 100т.

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