js省級聯動 資料結構優化

2021-10-08 04:00:38 字數 2078 閱讀 6078

<

!doctype html>

"en"

>

"utf-8"

>

"viewport" content=

"width=device-width, initial-scale=1.0"

>

document<

/title>

divselect

<

/style>

<

/head>

"province" name=

"province"

>

"">

---請選擇省--

-<

/option>

<

/select>

<

/div>

"city" name=

"city"

>

"">

---請選擇城市--

-<

/option>

<

/select>

<

/div>

<

/body>

//準備資料---

let data =[,

,,,,

,,]}

,,,,

,,,]

},,,

,,,,

]}];

// 載入所有的省份資訊到一級的下拉列表中

let province = document.

getelementbyid

("province");

data.

foreach

((e,i)

=>);

//給一級下拉列表繫結onchange事件

province.onchange =

function()

);}}

);}<

/script>

<

/html>

具體實現如下,發現城市資料存的很深,要通過省來查詢城市會比較麻煩,而且迴圈遍歷的是指數級的佔記憶體,通過下面資料結構的優化,相對而言,查詢會更容易

實現大概的思路是通過map集合,key找value的思路

存入的時候省,單獨放。城市的key等於省的p_id,因為有了標識,這樣就很容易相互查詢了

//準備資料---

<

!doctype html>

"en"

>

"utf-8"

>

"viewport" content=

"width=device-width, initial-scale=1.0"

>

快速入門<

/title>

<

/head>

"province" name=

"province"

>

"">

---請選擇省--

-<

/option>

<

/select>

<

/div>

"city" name=

"city"

>

"">

---請選擇城市--

-<

/option>

<

/select>

<

/div>

<

/body>

"js/jquery-3.3.1.min.js"

>

<

/script>

let data =[,

,]; let city=,,

,,,,

,],2

:[,,

,,,,

]}data.

foreach

((e,i)

=>

) $(

"#province").

change

(function()

)})<

/script>

<

/html>

js 資料結構

樹是電腦科學中經常用到的一種資料結構。樹是一種非線性的資料結構,以分層的方式儲存資料。二叉樹每個節點的子節點不允許超過兩個。乙個父節點的兩個子節點分別稱為左節點和右節點,通過將子節點的個數限定為2,可以寫出高效的程式在樹中插入 查詢和刪除資料。二叉查詢樹 bst 是一種特殊的二叉樹,相對較小的值儲存...

js資料結構

一 堆疊的概念 在計算機領域中,堆疊是兩種資料結構。棧 佇列優先,先進先出 由作業系統自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。堆 先進後出 動態分配的空間 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 分配方式倒是類似於鍊錶。二 js的...

MySQL優化 資料結構的優化

標籤 空格分隔 mysql 乙個好的資料庫設計方案對於資料庫的效能往往會起到事半功倍的效果。需要考慮資料冗餘 查詢和更新的速度 欄位的資料型別是否合理等多方面的內容。對於欄位較多的表,如果有些欄位的使用頻率很低,可以將這些字段分離出來形成新錶。因為當乙個表的資料量很大時,會由於使用頻率低的字段的存在...