如何處理 JavaScript 巢狀陣列,並根據巢狀層次顯示數字的順序?
假設我們有一個像下面這樣的數字巢狀陣列 −
const arr = [23, 6, [2,[6,2,1,2], 2], 5, 2];
我們需要編寫一個程式,它應該將此陣列的數字(元素)列印到螢幕上。
數字的列印順序應該根據它們所在的巢狀層次。因此,上述輸入的輸出應如下所示 −
23 6 2 6 2 1 2 2 5 2
示例
其程式碼為 −
<!DOCTYPE html>
<html>
<head>
<meta charset="utf−8">
<meta name="viewport" content="width=device−width">
<title>PATTERN</title>
</head>
<body>
<script>
const arr = [23, 6, [2, [6, 2, 1, 2], 2], 5, 2];
arr.reduce(function iter(level) {
return function (node, item) {
var pTag = document.createElement('p');
pTag.style.marginLeft = level + 'px';
node.appendChild(pTag);
if (Array.isArray(item)) {
item.reduce(iter(level || 50), pTag);
} else {
pTag.appendChild(document.createTextNode(item));
}
return node;
};
}(0), document.body);
</script>
<p></p>
</body>
</html>螢幕上的輸出將為 −

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP