lesson 08 samples - garevna/js-course GitHub Wiki

:coffee: :one:

:link: Перейдите по ссылке

В консоли новой вкладки выполните код:

location.search.slice(1).split(',')
        .map ( x => Object.assign ( {}, 
                        { [ x.split( '=' )[0] ] : x.split( '=' )[1] } 
                    ) 
        )

:coffee: :two:

:link: Перейдите по ссылке

Теперь в консоли новой вкладки объявите функцию:

function getSearchObject () {
        var obj = {}
        location.search.slice(1).split( ',' )
                .map ( x => x.split( '=' ) )
                .map ( function ( item ) {
                        this[ item [0] ] = item [1]
        }, obj )
        return obj
}

Вызовите функцию getSearchObject ()


:coffee::three:

:coffee: :four:

В консоли страницы выполните код:

let changeClass = ( classname, styleString ) => ( Array.from ( document.styleSheets )
    .filter ( sheet => !sheet.href )
        .map (
            sheet => Array.from ( sheet.cssRules )
                    .filter ( rule => rule.selectorText === `.{classname}` )
        )
           .filter ( item => item.length > 0 )
               .map ( item => item[0].cssText.split ("}")
                           .join ( `${styleString}}` )
               )
).length > 0 ? console.log ( "found" ) : 
    document.head.appendChild (
        document.createElement ( "style" )
    ).textContent = `.${classname} {${styleString}}`

changeClass ( "graf", "background-color: red!important;" )