JavaScript ブラウザのタイトル名変更

ブラウザ タイトル名変更

ブラウザのタイトル名を変更する方法です。

近頃 Webサイトはシングルページアプリケーションが多く、

それに伴い、 Windowタイトル名を変更してくれないサイトが 多いので とても不便です。

タイトル変更は、 JavaScriptで 簡単に実装できます。

タイトル名変更するコード例

document.title = "タイトル名"

ブラウザ側で確認すると下↓の結果です

document.title を変更

タイトル名を取り出すこともできます。

console.log(document.title)

JavaScript JSONオブジェクト変数の階層を再帰で掘る

JavaScript JSONオブジェクト変数の階層を再帰で掘る

JavaScript で 複雑な JSON オブジェクト変数の 階層を掘って Key Value 一覧を取り出す コード例です。

下のようなJSON オブジェクト変数

{
    "key1":{
        "key1_2":{
            "key1_3":{
                "name1":"ワイオミング"
            }
        }
    },
    "key2":{
        "name2":"マヌエル",
        "array1":[1,2,3,"あ","い","う"]
    }

}

下の関数を作成する

const DigAllHierarchy = (jsonObj1, root1="") => {
    let keys = Object.keys(jsonObj1) //オブジェクトキー一覧取得
    for (let k1 in keys){
        if (typeof jsonObj1[keys[k1]] == 'object'){ // 値がオブジェクトの場合
            if (Array.isArray(jsonObj1[keys[k1]])) { // 値が配列かどうか?
                let arrayStr = ""
                for (let oneArray in jsonObj1[keys[k1]]){
                    let tmpValue = jsonObj1[keys[k1]][oneArray]
                    arrayStr += (typeof tmpValue == "number")?tmpValue + ",": "\"" + tmpValue + "\",";
                }
                console.log(root1 + keys[k1] + "=[" + arrayStr.slice(0,-1) + "]")
            } else {
                DigAllHierarchy(jsonObj1[keys[k1]], root1 + keys[k1] + ".") //次の階層 再帰 処理
            }
        }else{
            console.log(root1 + keys[k1] + "=\"" + jsonObj1[keys[k1]] + "\"");
        }
    }    
}

作成した関数を呼び出す

DigAllHierarchy({
    "key1":{
        "key1_2":{
            "key1_3":{
                "name1":"ワイオミング"
            }
        }
    },
    "key2":{
        "name2":"マヌエル",
        "array1":[1,2,3,"あ","い","う"]
    }

})

↓下のように出力されます。

JavaScript 連想配列(オブジェクト)の結合 コード例

JavaScript Object.assign() コード例

JavaScript で、 複数の 連想配列(オブジェクト)型の 変数を 結合させるにはassign()を使います。

下記は Object.assign()を使ったコード例です。

let obj1 = {Name: "アレギウム", Age: 20}
let obj2 = {FirstName: "マヌエル", ID: 100}
Object.assign(obj1,obj2)
console.log(obj1)

実行すると 下のように obj1とobj2の 内容が結合されます。

Object.assign()実行結果

変数に同じキーが入っている場合は、 assign()の2番目の引数の値が使われるようでした。

assign(target, source)になっていて

@param target コピー先のターゲットオブジェクト。
@param source コピー元のソースオブジェクト。
let obj1 = {Name: "アレギウム", Age: 20}
let obj2 = {FirstName: "マヌエル", ID: 100}
let obj3 = {Address: "日本"}
Object.assign(obj1,obj2,obj3,obj3,obj3,obj3,obj3)
console.log(obj1)

引数内に変数は何個渡しても大丈夫です。