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ó
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[]];
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[];
1EDIT: 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
7 sẽ không hoạt động, vì vậy bạn không thể viết:14 gold badges78 silver badges137 bronze badgesvar n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
sample.push[new Object[]];
2
Frédéric Hamidifrédéric Hamidi
var sample = new Array[];
sample[] = new Object[];
2253K41 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
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 badgesvar n = 100;
var sample = new Array[];
for [var i = 0; i < n; i++]
sample.push[new Object[]];
1
Đã trả lời ngày 29 tháng 12 năm 2016 lúc 20:55
var sample = new Array[];
sample[] = new Object[];
3Cedced
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 JablowTrong 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[];
4Jeff 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
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 badgesvar n = 100;
var sample = [];
for [var i = 0; i < n; i++]
sample.push[{}];
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[];
67.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[];
74.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[];
8Nế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[];
9Spitterflyspitterfly
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[]];
1ShuklasannidhyashuklasannidhyaDec 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[]];
2Bấ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[]];
4bạn co thể sử dụng no
var sample = new Array[];
sample.push[new Object[]];
5Nó 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