Hướng dẫn how do you declare an empty array of objects in javascript? - làm thế nào để bạn khai báo một mảng rỗng các đối tượng trong javascript?

Tôi có một biến là một mảng và tôi muốn mọi yếu tố của mảng hoạt động như một đối tượng theo mặc định. Để đạt được điều này, tôi có thể làm một cái gì đó như thế này trong mã của tôi.

var sample = new Array[];
sample[0] = new Object[];
sample[1] = new Object[];

Điều này hoạt động tốt, nhưng tôi không muốn đề cập đến bất kỳ số chỉ mục nào. Tôi muốn tất cả các yếu tố của mảng của tôi là một đối tượng. Làm cách nào để khai báo hoặc khởi tạo nó?

var sample = new Array[];
sample[] = new Object[];

Tôi đã thử mã trên nhưng nó không hoạt động. Làm cách nào để khởi tạo một mảng các đối tượng mà không sử dụng số chỉ mục?

Hỏi ngày 1 tháng 4 năm 2013 lúc 11:19Apr 1, 2013 at 11:19

5

Sử dụng

var sample = new Array[];
sample.push[new Object[]];
9 để thêm một mục vào cuối mảng.

var sample = new Array[];
sample.push[new Object[]];

Để làm điều này

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
0 lần sử dụng vòng lặp
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
1.

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];

Lưu ý rằng bạn cũng có thể thay thế

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
2 bằng
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
3 và
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
4 bằng
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
5 để nó trở thành:

var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];

Đã trả lời ngày 1 tháng 4 năm 2013 lúc 11:21Apr 1, 2013 at 11:21

Daniel IMMSDANIEL IMMSDaniel Imms

46.6K19 Huy hiệu vàng145 Huy hiệu bạc164 Huy hiệu đồng19 gold badges145 silver badges164 bronze badges

0

Tùy thuộc vào ý của bạn khi khai báo, bạn có thể thử sử dụng các chữ cái theo nghĩa đen:

var sample = [{}, {}, {} /*, ... */];

EDIT: Nếu mục tiêu của bạn là một mảng có

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
6 các mục là các đối tượng trống theo mặc định, bạn có thể viết một chức năng tiện ích nhỏ: If your goal is an array whose
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
6 items are empty object literals by default, you can write a small utility function:

function getDefaultObjectAt[array, index]
{
    return array[index] = array[index] || {};
}

Sau đó sử dụng nó như thế này:

var sample = [];
var obj = getDefaultObjectAt[sample, 0];     // {} returned and stored at index 0.

Hoặc thậm chí:

getDefaultObjectAt[sample, 1].prop = "val";  // { prop: "val" } stored at index 1.

Tất nhiên, gán trực tiếp cho giá trị trả về của

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
7 sẽ không hoạt động, vì vậy bạn không thể viết:

getDefaultObjectAt[sample, 2] = { prop: "val" };

Đã trả lời ngày 1 tháng 4 năm 2013 lúc 11:21Apr 1, 2013 at 11:21

Daniel IMMSDANIEL IMMSFrédéric Hamidi

46.6K19 Huy hiệu vàng145 Huy hiệu bạc164 Huy hiệu đồng41 gold badges477 silver badges472 bronze badges

2

Tùy thuộc vào ý của bạn khi khai báo, bạn có thể thử sử dụng các chữ cái theo nghĩa đen:

var sample = new Array[];
sample[] = new Object[];
0

var sample = [{}, {}, {} /*, ... */];

var sample = new Array[];
sample[] = new Object[];
1

EDIT: Nếu mục tiêu của bạn là một mảng có

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
6 các mục là các đối tượng trống theo mặc định, bạn có thể viết một chức năng tiện ích nhỏ:

Sau đó sử dụng nó như thế này:Dec 29, 2016 at 20:55

Hoặc thậm chí:Ced

Tất nhiên, gán trực tiếp cho giá trị trả về của

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
7 sẽ không hoạt động, vì vậy bạn không thể viết:14 gold badges78 silver badges137 bronze badges

2

Frédéric Hamidifrédéric Hamidi

var sample = new Array[];
sample[] = new Object[];
2

253K41 Huy hiệu vàng477 Huy hiệu bạc472 Huy hiệu Đồng

Bạn có thể sử dụng fill [].Apr 1, 2013 at 11:50

Sẽ tạo ra một mảng gồm 5 mục. Sau đó, bạn có thể sử dụng foreach chẳng hạn.Jeff Shaver

Lưu ý rằng khi thực hiện

var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
8, nó chỉ là một đối tượng có chiều dài 5 và mảng trống. Khi bạn sử dụng
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
9, bạn lấp đầy từng điểm riêng lẻ với bất cứ điều gì bạn muốn.17 silver badges19 bronze badges

1

Đã trả lời ngày 29 tháng 12 năm 2016 lúc 20:55

var sample = new Array[];
sample[] = new Object[];
3

Cedced

14.7K14 Huy hiệu vàng78 Huy hiệu bạc137 Huy hiệu đồngApr 1, 2013 at 11:31

Sau khi xem cách bạn trả lời trong các ý kiến. Có vẻ như tốt nhất là sử dụng

var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];
0 như những người khác đã đề xuất. Bằng cách này, bạn không cần biết các chỉ số, nhưng bạn vẫn có thể thêm vào mảng.Eric Jablow

Trong trường hợp này, mỗi khi bạn sử dụng chức năng đó, nó sẽ đẩy một đối tượng mới vào mảng.2 gold badges21 silver badges29 bronze badges

Đã trả lời ngày 1 tháng 4 năm 2013 lúc 11:50new Object[] with your object]:

var sample = new Array[];
sample[] = new Object[];
4

Jeff Shaverjeff Bạo dưỡngMay 30, 2015 at 10:55

3.28517 Huy hiệu bạc19 Huy hiệu đồngMarzSocks

Bạn không thực sự cần phải tạo các

var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];
1 trống bao giờ. Bạn không thể làm bất cứ điều gì với họ. Chỉ cần thêm các đối tượng làm việc của bạn vào mẫu khi cần thiết. Sử dụng
var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];
0 như Daniel IMMS đề xuất, và sử dụng nghĩa đen như Frédéric Hamidi đề xuất. Bạn dường như muốn lập trình JavaScript như C.3 gold badges21 silver badges34 bronze badges

1

Tôi tin rằng việc sử dụng

var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];
3 tạo ra một mảng với 10 yếu tố
var n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
    sample.push[new Object[]];
6.

var sample = new Array[];
sample[] = new Object[];
5

Đã trả lời ngày 1 tháng 4 năm 2013 lúc 11:31

Eric Jabloweric Jablow

var sample = new Array[];
sample[] = new Object[];
6

7.7912 Huy hiệu vàng21 Huy hiệu bạc29 Huy hiệu đồng

Bạn có thể khởi tạo một mảng "Loại đối tượng" trong một dòng như thế này [chỉ cần thay thế đối tượng mới [] bằng đối tượng của bạn]:Mar 18, 2014 at 14:36

Đã trả lời ngày 30 tháng 5 năm 2015 lúc 10:55spitterfly

Marzsocksmarzsocks1 silver badge4 bronze badges

var sample = new Array[];
sample[] = new Object[];
7

4.1693 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng

Vâng

var n = 100;
var sample = [];
for [var i = 0; i < n; i++]
    sample.push[{}];
5 có nên làm thủ thuật hay không? Một cái gì đó giống như, ý tôi là bạn không cần biết phạm vi chỉ mục nếu bạn chỉ đọc nó ..Jun 6, 2017 at 14:30

Có thể tôi không hiểu câu hỏi của bạn một cách chính xác, nhưng bạn sẽ có thể có được độ dài của mảng của bạn theo cách này và biến chúng thành các đối tượng. Thành thật mà nói, Daniel đã đưa ra câu trả lời tương tự. Bạn chỉ có thể lưu độ dài mảng của bạn vào biến của anh ấy và nó sẽ được thực hiện.

var sample = new Array[];
sample[] = new Object[];
8

Nếu và điều này không xảy ra theo ý kiến ​​của tôi, bạn không thể có được độ dài mảng của bạn. Như bạn đã nói với việc lấy số chỉ mục, bạn có thể làm như vậy:Apr 1, 2013 at 11:23

Đây là phiên bản không có thời của phiên bản ở trên nhưng vòng lặp sẽ thực thi cho đến khi bạn "chạy" ra khỏi phạm vi chỉ mục.ShuklaSannidhya

Đã trả lời ngày 18 tháng 3 năm 2014 lúc 14:369 gold badges30 silver badges44 bronze badges

2

var sample = new Array[];
sample[] = new Object[];
9

Spitterflyspitterfly

711 Huy hiệu bạc4 Huy hiệu đồngSep 30, 2019 at 11:16

Ví dụ này hoạt động với tôi. Ảnh chụp nhanh cho đầu ra trên bảng điều khiển trình duyệtCegone

Đã trả lời ngày 6 tháng 6 năm 2017 lúc 14:301 gold badge8 silver badges20 bronze badges

1

Thử cái này-

var sample = new Array[];
sample.push[new Object[]];

Đã trả lời ngày 1 tháng 4 năm 2013 lúc 11:23

var sample = new Array[];
sample.push[new Object[]];
1

ShuklasannidhyashuklasannidhyaDec 21, 2017 at 4:59

8.1749 Huy hiệu vàng30 Huy hiệu bạc44 Huy hiệu đồng

var sample = new Array[];
sample.push[new Object[]];
2

Bất cứ ai thử điều này .. và đề nghị một cái gì đó.

var sample = new Array[];
sample.push[new Object[]];
3

Đã trả lời ngày 30 tháng 9 năm 2019 lúc 11:16Jan 23, 2018 at 5:33

CegonecegoneSachin Shah

4471 Huy hiệu vàng8 Huy hiệu bạc20 Huy hiệu đồng3 gold badges20 silver badges49 bronze badges

Sử dụng Array.Push [] để thêm một mục vào cuối mảng.

var sample = new Array[];
sample.push[new Object[]];
4

bạn co thể sử dụng no

var sample = new Array[];
sample.push[new Object[]];
5

Nó sẽ ném một lỗi. Tuy nhiên, nếu bạn chèn một đối tượng, nó sẽ được cho phép:

var sample = new Array[];
sample.push[new Object[]];
6

Để biết thêm chi tiết về proxy, vui lòng tham khảo liên kết này: //developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/proxy

Nếu bạn đang tìm kiếm một triển khai polyfill, bạn có thể kiểm tra liên kết này: //github.com/googlechrom/proxy-polyfill

Đã trả lời ngày 11 tháng 2 năm 2019 lúc 13:57Feb 11, 2019 at 13:57

Sachin Singhsachin SinghSachin Singh

8501 Huy hiệu vàng7 Huy hiệu bạc16 Huy hiệu đồng1 gold badge7 silver badges16 bronze badges

Mã dưới đây từ dự án của tôi có thể tốt cho bạn

var sample = new Array[];
sample.push[new Object[]];
7

Đã trả lời ngày 8 tháng 8 năm 2019 lúc 9:16Aug 8, 2019 at 9:16

Metin atalaymetin atalayMetin Atalay

1.28517 Huy hiệu bạc27 Huy hiệu đồng17 silver badges27 bronze badges

var sample = new Array[];
sample.push[new Object[]];
8

Tushar

Huy hiệu vàng 84K2121 gold badges154 silver badges174 bronze badges

Đã trả lời ngày 8 tháng 12 năm 2016 lúc 7:20Dec 8, 2016 at 7:20

2

Làm thế nào để bạn tạo một mảng trống trong JavaScript?

Thay thế bằng một mảng mới - mảng = []; Đây là cách nhanh nhất. ....
Cài đặt độ dài prop thành 0 - mảng.length = 0. Điều này sẽ xóa mảng hiện có bằng cách đặt độ dài của nó thành 0. ....
Liên kết toàn bộ mảng. mảng.splice [0, mảng.length] Điều này sẽ xóa tất cả các phần tử khỏi mảng và thực sự sẽ làm sạch mảng gốc ..

Làm thế nào để bạn tạo một đối tượng trống trong JavaScript?

Bạn có thể tạo một đối tượng trống JavaScript không? Các đối tượng cũng có thể được tạo bằng cách sử dụng từ khóa mới. Với hàm tạo đối tượng tích hợp trong JavaScript, mới tạo ra một đối tượng trống; Hoặc, từ khóa này có thể được sử dụng với hàm xây dựng do người dùng xác định: với hàm tạo đối tượng tích hợp.With the built-in Object Constructor in Javascript, new creates an empty object; or, this keyword can be used with a user-defined constructor function: with builtin Object Constructor .

Bạn có thể có một mảng các đối tượng trong JavaScript không?

Các phần tử mảng có thể là các biến JavaScript có thể là đối tượng.Mảng là các loại đối tượng đặc biệt.Bởi vì điều này, bạn có thể có các biến các loại khác nhau trong cùng một mảng. JavaScript variables can be objects. Arrays are special kinds of objects. Because of this, you can have variables of different types in the same Array.

Làm thế nào để bạn tuyên bố một mảng trong JavaScript?

Một cách khác để tạo một mảng là sử dụng từ khóa mới với hàm tạo mảng.mảng mới [];Nếu một tham số số được chuyển vào dấu ngoặc đơn, điều đó sẽ đặt độ dài cho mảng mới với số lượng khe trống đó.Ví dụ: mã này sẽ tạo ra một mảng có chiều dài 3 khe trống.

Bài Viết Liên Quan

Chủ Đề