Hướng dẫn print nested array javascript - in mảng lồng nhau javascript

Tôi có một mảng lồng nhau:

[1, 2, [3, 4, [5, [6]], 7], 8, 9]

Làm thế nào tôi có thể in nó một cách thanh lịch để trông như thế này:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

Budidino

12.6k8 Huy hiệu vàng94 Huy hiệu bạc92 Huy hiệu Đồng8 gold badges94 silver badges92 bronze badges

Đã hỏi ngày 20 tháng 1 năm 2017 lúc 1:36Jan 20, 2017 at 1:36

5

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];

Đã trả lời ngày 20 tháng 1 năm 2017 lúc 1:40Jan 20, 2017 at 1:40

Jayce444Jayce444Jayce444

8.3123 Huy hiệu vàng26 Huy hiệu bạc42 Huy hiệu đồng3 gold badges26 silver badges42 bronze badges

1

Bạn có thể thử điều này, nó sẽ làm phẳng mảng của bạn.

let a = [1, 2, [3, 4, [5, [6]], 7], 8, 9];
const flatten = arr => arr.reduce[[a, b] => a.concat[Array.isArray[b] ? flatten[b] : b], []];
console.log[flatten[a]];

Trên thực tế, bạn có thể tìm thấy nó ở đây: //developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/array/reduce
//developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

Cập nhật 1:

Đây là một giải pháp khác.

function flatten[arr] {
    var x;
    x = JSON.stringify[arr];
    x = "[" + x.replace[/[\[\]]/g, ""] + "]";
    return JSON.parse[x];
}
console.log[flatten[a]];

Đã trả lời ngày 20 tháng 1 năm 2017 lúc 1:45Jan 20, 2017 at 1:45

YichongyichongYichong

6794 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges

Giải pháp @yaser có vẻ rất thanh lịch. Chỉ trong trường hợp bạn muốn sử dụng khung chức năng, ở đây là một ví dụ sử dụng Ramdaramda

const arr = R.flatten[[1, 2, [3, 4, [5, [6]], 7], 8, 9]];
console.log[arr]; //[1, 2, 3, 4, 5, 6, 7, 8, 9]

Đã trả lời ngày 20 tháng 1 năm 2017 lúc 1:56Jan 20, 2017 at 1:56

HosarhosarHosar

4.9833 Huy hiệu vàng25 Huy hiệu bạc35 Huy hiệu Đồng3 gold badges25 silver badges35 bronze badges

Đây là một cách khác để làm điều đó với ES6:

var nested = [1, 2, [3, 4, [5, [6]], 7], 8, 9];

var flat = [].concat[nested];

for[var i = 0; i < flat.length; i++] {
    if[Array.isArray[flat[i]]] {
        flat.splice[i, 1, ...flat[i--]];  
    }
}

console.log[flat];

Đã trả lời ngày 20 tháng 1 năm 2017 lúc 1:46Jan 20, 2017 at 1:46

YaseryaserYaser

5.5311 Huy hiệu vàng15 Huy hiệu bạc27 Huy hiệu đồng1 gold badge15 silver badges27 bronze badges

2

Khi sử dụng Node.js, những điều sau đây mang lại cho tôi gần như những gì bạn yêu cầu, ngoại trừ việc đầu ra in không có khoảng trắng sau dấu phẩy:node.js, the following gives me almost what you requested, except that the printed output has no spaces after the commas:

console.log['[%s]', [1, 2, [3, 4, [5, [6]], 7], 8, 9]];

Gọi

console.log['[%s]', [1, 2, [3, 4, [5, [6]], 7], 8, 9]];
3 trên mảng có thể cần thiết để có được kết quả tương tự trong các môi trường khác:

console.log['[%s]', [1, 2, [3, 4, [5, [6]], 7], 8, 9].toString[]];

Đã trả lời ngày 20 tháng 1 năm 2017 lúc 2:08Jan 20, 2017 at 2:08

Cybersamcybersamcybersam

59,8K5 Huy hiệu vàng52 Huy hiệu bạc72 Huy hiệu đồng5 gold badges52 silver badges72 bronze badges

2

Permalink

Nội dung chính ShowShow

  • Hướng dẫn
  • Câu trả lời
  • Chờ đã ... còn JSON thì sao?
  • Đọc thêm tài liệu
  • Truy cập các cấu trúc dữ liệu lồng nhau
  • Tôi đang cố gắng truy cập một tài sản nhưng tôi chỉ nhận lại {key: value, key: value, ...} 9?
  • Điều gì sẽ xảy ra nếu tên tài sản năng động và tôi không biết chúng trước?
  • Điều gì sẽ xảy ra nếu "độ sâu" của cấu trúc dữ liệu không biết đối với tôi?
  • Người trợ giúp
  • Làm cách nào để truy cập mảng lồng nhau?
  • Bạn có thể có các mảng lồng trong JavaScript không?
  • Làm thế nào để các mảng lồng nhau hoạt động trong JavaScript?
  • Làm thế nào để bạn truy cập một mảng bên trong một mảng?

Để truy cập một phần tử của mảng đa chiều, trước tiên bạn sử dụng dấu ngoặc vuông để truy cập một phần tử của mảng bên ngoài trả về một mảng bên trong;và sau đó sử dụng một khung vuông khác để truy cập phần tử của mảng bên trong.use another square bracket to access the element of the inner array.

Permalink

Nội dung chính Show

Hướng dẫn

[1, 2, 3, 4, 5, 6, 7, 8, 9]
5

Hướng dẫn

  • Câu trả lời

Chờ đã ... còn JSON thì sao?

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
0

Câu trả lời

// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line

Chờ đã ... còn JSON thì sao?

Đọc thêm tài liệuObject. An Array is a special form of object.

Truy cập các cấu trúc dữ liệu lồng nhau

[1, 2, 3, 4, 5, 6, 7, 8, 9]
6

Tôi đang cố gắng truy cập một tài sản nhưng tôi chỉ nhận lại {key: value, key: value, ...} 9?

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
3

Điều gì sẽ xảy ra nếu tên tài sản năng động và tôi không biết chúng trước?

Điều gì sẽ xảy ra nếu "độ sâu" của cấu trúc dữ liệu không biết đối với tôi?"properties".

Người trợ giúpdot notation

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
5

Làm cách nào để truy cập mảng lồng nhau?bracket notation, if the property name would not be a valid JavaScript identifier name [spec], or the name is the value of a variable:

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
6

Không thể lấy lại những người đóng góp tại thời điểm này

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
7

Chờ đã ... còn JSON thì sao?

Đọc thêm tài liệu

Đọc thêm tài liệu

Truy cập các cấu trúc dữ liệu lồng nhau

  • Tôi đang cố gắng truy cập một tài sản nhưng tôi chỉ nhận lại {key: value, key: value, ...} 9?
  • Điều gì sẽ xảy ra nếu tên tài sản năng động và tôi không biết chúng trước?
  • Điều gì sẽ xảy ra nếu "độ sâu" của cấu trúc dữ liệu không biết đối với tôi?

Truy cập các cấu trúc dữ liệu lồng nhau

Tôi đang cố gắng truy cập một tài sản nhưng tôi chỉ nhận lại {key: value, key: value, ...} 9?

Điều gì sẽ xảy ra nếu tên tài sản năng động và tôi không biết chúng trước?

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
8

Điều gì sẽ xảy ra nếu "độ sâu" của cấu trúc dữ liệu không biết đối với tôi?

Người trợ giúp

Làm cách nào để truy cập mảng lồng nhau?

Không thể lấy lại những người đóng góp tại thời điểm này

Như chúng ta đã thấy trong các ví dụ trước đó,

// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
4 có thể chứa cả
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
5 và
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
6. Tương tự như truy cập
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
5,
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
8
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
9 có thể được xích để truy cập các mảng lồng nhau.

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
00

Giá trị này là một đối tượng và chúng tôi sử dụng ký hiệu DOT một lần nữa để truy cập thuộc tính

[1, 2, 3, 4, 5, 6, 7, 8, 9]
65. Vì vậy, cuối cùng chúng tôi nhận được:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
01

Ngoài ra, chúng tôi có thể đã sử dụng ký hiệu khung cho bất kỳ thuộc tính nào, đặc biệt là nếu tên chứa các ký tự sẽ làm cho nó không hợp lệ đối với việc sử dụng ký hiệu DOT:

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
02

Tôi đang cố gắng truy cập một tài sản nhưng tôi chỉ nhận lại {key: value, key: value, ...} 9?

Hầu hết thời gian khi bạn nhận được

[1, 2, 3, 4, 5, 6, 7, 8, 9]
69, đối tượng/mảng đơn giản là không có thuộc tính có tên đó.
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
03

Sử dụng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
31 hoặc
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
32 và kiểm tra cấu trúc của đối tượng / mảng. Thuộc tính bạn đang cố gắng truy cập có thể thực sự được xác định trên một đối tượng / mảng lồng nhau.
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
04

Điều gì sẽ xảy ra nếu tên tài sản năng động và tôi không biết chúng trước?

Nếu tên thuộc tính không rõ hoặc chúng tôi muốn truy cập tất cả các thuộc tính của một đối tượng / phần tử của một mảng, chúng tôi có thể sử dụng vòng lặp

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
33 [MDN] cho các đối tượng và vòng lặp
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
34 [MDN] cho các mảng để lặp lại tất cả các thuộc tính / phần tử.

Các đối tượng

Để lặp lại tất cả các thuộc tính của

[1, 2, 3, 4, 5, 6, 7, 8, 9]
66, chúng ta có thể lặp lại đối tượng như vậy:object like so:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
05object like so:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
05

Tùy thuộc vào nơi đối tượng đến từ [và những gì bạn muốn làm], bạn có thể phải kiểm tra trong mỗi lần lặp cho dù tài sản có thực sự là một thuộc tính của đối tượng hay đó là một thuộc tính được kế thừa. Bạn có thể làm điều này với

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
36 [MDN].

Thay thế cho

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
33 với
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
38, bạn có thể sử dụng
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
39 [MDN] để có được một mảng tên thuộc tính:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
06

Mảng

Để lặp lại tất cả các yếu tố của mảng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
50, chúng tôi sử dụng vòng lặp
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
34:array, we use a
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
34 loop:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
07array, we use a
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
34 loop:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
07

Người ta cũng có thể sử dụng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
33 để lặp lại các mảng, nhưng có những lý do tại sao điều này nên tránh: Tại sao 'cho [mục VAR trong danh sách]' với các mảng được coi là thực hành xấu trong JavaScript ?.

Với sự hỗ trợ của trình duyệt ngày càng tăng của Ecmascript 5, phương pháp mảng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
53 [MDN] cũng trở thành một sự thay thế thú vị:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
08

Trong các môi trường hỗ trợ ES2015 [ES6], bạn cũng có thể sử dụng vòng lặp

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
54 [MDN], không chỉ hoạt động cho các mảng, mà đối với bất kỳ điều gì có thể lặp lại:
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
09

Trong mỗi lần lặp,

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
54 trực tiếp cung cấp cho chúng ta yếu tố tiếp theo của điều đó, không có "chỉ mục" nào để truy cập hoặc sử dụng.

Điều gì sẽ xảy ra nếu "độ sâu" của cấu trúc dữ liệu không biết đối với tôi?

Ngoài các khóa không xác định, "độ sâu" của cấu trúc dữ liệu [nghĩa là nó cũng có bao nhiêu đối tượng lồng nhau]. Cách truy cập các thuộc tính lồng nhau sâu thường phụ thuộc vào cấu trúc dữ liệu chính xác.

Nhưng nếu cấu trúc dữ liệu chứa các mẫu lặp lại, ví dụ: Biểu diễn của một cây nhị phân, giải pháp thường bao gồm để đệ quy [Wikipedia] truy cập từng cấp độ của cấu trúc dữ liệu.recursively [Wikipedia] access each level of the data structure.recursively [Wikipedia] access each level of the data structure.

Dưới đây là một ví dụ để có được nút lá đầu tiên của một cây nhị phân:

// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
0

Một cách chung chung hơn để truy cập cấu trúc dữ liệu lồng nhau với các khóa và độ sâu không xác định là kiểm tra loại giá trị và hành động phù hợp.

Dưới đây là một ví dụ bổ sung tất cả các giá trị nguyên thủy bên trong cấu trúc dữ liệu lồng nhau vào một mảng [giả sử nó không chứa bất kỳ chức năng nào]. Nếu chúng ta gặp một đối tượng [hoặc mảng], chúng ta chỉ cần gọi lại

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
56 trên giá trị đó [cuộc gọi đệ quy].
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
1

Người trợ giúp

Vì cấu trúc của một đối tượng hoặc mảng phức tạp không nhất thiết là rõ ràng, chúng ta có thể kiểm tra giá trị ở mỗi bước để quyết định cách di chuyển xa hơn.

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
31 [MDN] và
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
32 [MDN] giúp chúng tôi làm điều này. Ví dụ: đầu ra của bảng điều khiển Chrome]:
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
2

Ở đây chúng ta thấy rằng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
50 là một mảng với hai yếu tố cả hai đều là đối tượng. Trong bảng điều khiển Chrome, các đối tượng thậm chí có thể được mở rộng và kiểm tra ngay lập tức.
// Setup
var myPlants = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line
3

Điều này cho chúng ta biết rằng

function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
60 là một đối tượng và sau khi mở rộng nó, chúng ta thấy rằng nó có ba thuộc tính,
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
61,
[1, 2, 3, 4, 5, 6, 7, 8, 9]
65 và
function printArray[arr] {
    if [ typeof[arr] == "object"] {
        for [var i = 0; i < arr.length; i++] {
            printArray[arr[i]];
        }
    }
    else console.log[arr];
}

printArray[[1,2,[3,4,[5,[6]],7],8,9]];
63. Cái sau là một thuộc tính bên trong được sử dụng cho chuỗi nguyên mẫu của đối tượng. Tuy nhiên, chuỗi nguyên mẫu và kế thừa nằm ngoài phạm vi cho câu trả lời này.

Làm cách nào để truy cập mảng lồng nhau?

Cấu trúc dữ liệu lồng nhau là một mảng hoặc đối tượng đề cập đến các mảng hoặc đối tượng khác, tức là các giá trị của nó là mảng hoặc đối tượng. Các cấu trúc như vậy có thể được truy cập bằng cách áp dụng liên tiếp ký hiệu dấu chấm hoặc khung. Dưới đây là một ví dụ: const data = {code: 42, các mục: [{id: 1, tên: 'foo'}, {id: 2, name: 'Bar'}]};consecutively applying dot or bracket notation. Here is an example: const data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] };consecutively applying dot or bracket notation. Here is an example: const data = { code: 42, items: [{ id: 1, name: 'foo' }, { id: 2, name: 'bar' }] };

Bạn có thể có các mảng lồng trong JavaScript không?

Mảng lồng trong JavaScript được định nghĩa là mảng [mảng ngoài] trong một mảng khác [mảng bên trong].Một mảng có thể có một hoặc nhiều mảng bên trong.Các mảng lồng nhau này [mảng bên trong] nằm trong phạm vi của mảng bên ngoài có nghĩa là chúng ta có thể truy cập vào các phần tử mảng bên trong này dựa trên tên đối tượng mảng bên ngoài.. An Array can have one or more inner Arrays. These nested array [inner arrays] are under the scope of outer array means we can access these inner array elements based on outer array object name.. An Array can have one or more inner Arrays. These nested array [inner arrays] are under the scope of outer array means we can access these inner array elements based on outer array object name.

Làm thế nào để các mảng lồng nhau hoạt động trong JavaScript?

Sau khi tạo ra một mảng lồng nhau của JavaScript, bạn có thể sử dụng phương thức Push Push [] và SPL SPLICE [] để thêm các phần tử, phương thức For For Loop và và For Foreach [] để lặp lại các phần tử của các mảng bên trong, phẳng phẳng.

Làm thế nào để bạn truy cập một mảng bên trong một mảng?

Để truy cập một phần tử của mảng đa chiều, trước tiên bạn sử dụng dấu ngoặc vuông để truy cập một phần tử của mảng bên ngoài trả về một mảng bên trong;và sau đó sử dụng một khung vuông khác để truy cập phần tử của mảng bên trong.use another square bracket to access the element of the inner array.use another square bracket to access the element of the inner array.

Bài Viết Liên Quan

Chủ Đề