1. 程式人生 > >[jQuery學習系列三 ]3-JQuery學習二-字典操作

[jQuery學習系列三 ]3-JQuery學習二-字典操作

huang math 喜歡 lec 十分 地址 red gets dao

前言:
如果看過了第一篇和第二篇, 相信大家會對jQuery有個初步的認識了, 對於jQuery的選擇器和數組的操作都已經很熟悉了, 這一篇就單獨羅列jQuery中字典的操作相關的內容.

1. 數組中添加map

技術分享圖片
var arr = []; 
var key = ‘Jeremy‘; 
var value = ‘!!!!‘ 
arr.push({ 
‘key‘: key, 
‘value‘: value, 
}); 

document.write("key: " + arr[0][‘key‘] + 
"<br/>value: " + arr[0][‘value‘]);

輸出結果:
key: Jeremy
value: !!!!
技術分享圖片

2. 數組遍歷輸出

技術分享圖片
var arr = []; 
arr.push("Jeremy"); 
arr.push("Jimmy"); 
for(var i in arr) 
document.write(i + ": " + arr[i] + "</br>");

輸出結果:
0: Jeremy
1: Jimmy
技術分享圖片

3. 類似字典(map)遍歷

技術分享圖片
var dict = []; //or dict = new Array() 
dict["Jeremy"] = 20; 
dict["Jimmy"] = 30; 
for(var key in dict) 
document.write(key + ": " + dict[key] + "</br>"); 

輸出結果:
Jeremy: 20
Jimmy: 30
技術分享圖片


4. 字典聲明時賦值

技術分享圖片
var dict = { 
"Jeremy" : 20, 
"Jimmy" : 30 
}; 
for(var key in dict) 
document.write(key + ": " + dict[key] + "</br>"); 

輸出結果:
Jeremy: 20
Jimmy: 30
技術分享圖片

技術分享圖片
var dict = { 
"Jeremy" : ["Chinese", "Math"] , 
"Jimmy" : ["Art", "English"] 
}; 
var name = "Jeremy"; 
for(var courseIndex in dict[name]) 
document.write(dict[name][courseIndex] + "</br>"); 

輸出結果:
Chinese
Math
技術分享圖片


5. 字典裏value為數組, 數組內為字典,

技術分享圖片
var dict = []; 
var courseListOfJeremy = [ 
{"Chinese" : 3}, 
{"Math": 5} 
]; 
dict[‘Jeremy‘] = courseListOfJeremy; 
var courseListOfJimmy = [ 
{"Art": 3}, 
{"English": 5} 
]; 
dict[‘Jimmy‘] = courseListOfJimmy; 

document.write("Jimmy‘s Course Number Of Chinese: " + dict[‘Jeremy‘][0][‘Chinese‘]);

輸出結果:
Jimmy‘s Course Number Of Chinese: 3
技術分享圖片


小例子:用JS實現省市縣三級聯動

技術分享圖片
<h3>
    您的地址是:
</h3>
<select id="Province" onchange="SelectValueChanged(‘Province‘, ‘Get_City‘)">
    <option id="Not_data1">Province</option>
    <option id="GuangDong" value="GuangDong">GuangDong</option>
    <option id="ShanDong" value="ShanDong">ShanDong</option>
    <option id="HuNan" value="HuNan">HuNan</opetion>
</select>
<select id="City" onchange="SelectValueChanged(‘City‘, ‘Get_Country‘)">
    <option id="Not_data2">City</option>
</select>
<select id="Country">
    <option id="Not_data3">Country</option>
</select>


"use strict"
//初始化的數據
var placeDictionary = {
    "GuangDong":{
        "GuangZhou":["PanYu","HuangPu","TianHe"],
        "QingYuan":["QingCheng","YingDe","LianShan"],
        "FoShan":["NanHai","ShunDe","SanShui"]
    },
    "ShanDong":{
        "JiNan":["LiXia","ShiZhong","TianQiao"],
        "QingDao":["ShiNan","HuangDao","JiaoZhou"]
    },
    "HuNan":{
        "ChangSha":["KaiFu","YuHua","WangCheng"],
        "ChenZhou":["BeiHu","SuXian","YongXian"]
    }
};

//通過province或city的變化連動
function SelectValueChanged(idType, perpose) {
    var selectedValue = GetSelectedId(idType);
    if(perpose == "Get_City")
    {
        AddCity(selectedValue);
    }
    else if(perpose == "Get_Country")
    {
        AddCountry(selectedValue);
    }
}

function GetSelectedId(id){
    var prop = document.getElementById(id);
    var selectedValue = prop.options[prop.selectedIndex].id;
    return selectedValue;
}

function AddCity(provinceSelectedValue){
    //保持聯動的一致性, 當Province的index變化時都需要清空City和Country的值
    $("#City").empty();
    $("#City").append("<option>City</option>");
    $("#Country").empty();
    $("#Country").append("<option>Country</option>");
    var cityNames = placeDictionary[provinceSelectedValue];
    for(var city in cityNames)
    {
        //這裏遍歷的值直接是value
        var value = "<option id=‘"+ city +"‘>" + city + "</option>";
        $("#City").append(value);
    }
}

function AddCountry(citySelectedValue) {
    //保持聯動一致性,當City的index變化時需要清空Country中的值
    $("#Country").empty();
    $("#Country").append("<option>Country</option>");
    var provinceSelectedId = GetSelectedId("Province");
    //獲得城市列表
    var countries = placeDictionary[provinceSelectedId][citySelectedValue];
    for(var index in countries)
    {
        //這裏index獲取的是id 值
        var value = "<option id=‘"+ countries[index] +"‘>" + countries[index] + "</option>";
        $("#Country").append(value);
    }
}
技術分享圖片

效果如下圖:
技術分享圖片


英語小貼士:

I ache all over.
我渾身酸痛。
I‘m flattered.
過獎了。
I‘m mad at myself.
我生自己的氣。
I‘m not myself today.
我今天心神不寧。
I‘m very/ really/ terribly/ awfully/ extremely sorry.
十分抱歉。
I‘m working on it.
我正在努力。
It can‘t be helped.
無能為力。
I can‘t seem toget to sleep.
我好像睡不著。
I don‘t feel up to that.
我覺得不能勝任那工作。
I have a runny nose.
我流鼻涕。
I have a sweet tooth.
我喜歡吃甜食。

[jQuery學習系列三 ]3-JQuery學習二-字典操作