簡體   English   中英

如何從有序列表創建數組/對象?

[英]How to create an array/object from an ordered list?

如何從有序列表創建數組或對象,將數字作為索引/鍵,將列表項作為相應的值?

示例列表:

<ol>
  <li>First list item</li>
  <li>Second list item</li>
  <li>Third list item</li>
</ol>

應該導致:

{"1" => "First list item", "2" => "Second list item", "3" => "Third list item"}

我嘗試使用Array.from()有一些變化,但沒有奏效

您可以使用 querySelectorAll 來獲取<li>並遍歷它們以將它們的innerText提取到一個數組中:

 const items = [...document.querySelectorAll('li')].map(x => x.innerText); console.log(items);
 <ol> <li>First list item</li> <li>Second list item</li> <li>Third list item</li> </ol>

結果數組將具有item[0] === 'First list item'等。

首先,編寫一個查詢選擇器來獲取<ol>標簽,然后讀取它的子標簽:

let ol = document.querySelector('ol')
let lis = ol.children

然后,定義一個對象並將所有<li>文本聚合到其中:

let obj = {}
for (let i = 0; i < lis.length; i++) {
  obj[i.toString()] = lis[i].innerText
}

那應該創建您正在尋找的對象。

做到這一點的方法之一:

 let bob = Array.from( document.querySelector('ol').children, li => li.textContent ) console.log( bob)
 <ol> <li>First list item</li> <li>Second list item</li> <li>Third list item</li> </ol>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM