[英]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.