Hướng dẫn how to pass array of objects in javascript - cách truyền mảng đối tượng trong javascript

Tôi đang cố gắng lần đầu tiên để thực hiện OOP trong JavaScript và tôi đã bị mắc kẹt trong một chức năng đệ quy khi tôi cố gắng gửi một loạt các đối tượng đến chức năng này. Vì vậy, tôi có lớp "pitic" (có nghĩa là người lùn trong tiếng Rumani) với một số propretes:

function Pitic(piticID) {
this.id = piticID;
this.inaltime = null;
this.greutate = null;
this.genereazaGreutate();
this.genereazaInaltime();
}

Bây giờ tôi đang tạo ra một số người midget và lưu trữ chúng trong biến mảng cực hữu công cộng. "Genereazagreutate" và "cersoazainaltime" có chức năng tạo ra các giá trị ngẫu nhiên cho các giá trị inaltime và greutate.

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);

Vấn đề xuất hiện khi tôi cố gắng gửi Array of Midget đến một hàm vì tất cả những gì tôi nhận được chỉ là mục đầu tiên của mảng.

Vì vậy, trước khi tôi gọi hàm, tôi có mảng cực kỳ với 4 đối tượng: Midgets là an toàn và âm thanh http://img443.imageshack.us/img443/484/yr4f.png.png

Và ngay khi tôi gọi chức năng với sự độc hại như một tham số, tôi đã mất 3 người midget! :( Hầu hết các trung bình đã biến mất http://img201.imageshack.us/img201/5808/7od5.png

P.S. Xin thứ lỗi cho tôi vì tiếng Anh kém của tôi ..

.

Đã hỏi ngày 23 tháng 10 năm 2013 lúc 23:24Oct 23, 2013 at 23:24

Hướng dẫn how to pass array of objects in javascript - cách truyền mảng đối tượng trong javascript

fdrugafdrugafDruga

2591 Huy hiệu vàng3 Huy hiệu bạc1 gold badge3 silver badges10 bronze badges

8

Tôi đã giải quyết vấn đề của mình bằng cách tạo một bản sao của mảng trước khi sử dụng nó trong chức năng. Lạ lùng :(

function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}

Đã trả lời ngày 24 tháng 10 năm 2013 lúc 0:39Oct 24, 2013 at 0:39

Hướng dẫn how to pass array of objects in javascript - cách truyền mảng đối tượng trong javascript

fdrugafdrugafDruga

2591 Huy hiệu vàng3 Huy hiệu bạc1 gold badge3 silver badges10 bronze badges

Tôi đã giải quyết vấn đề của mình bằng cách tạo một bản sao của mảng trước khi sử dụng nó trong chức năng. Lạ lùng :(

colectieDePitici.splice(1, colectieDePitici.length);

Đã trả lời ngày 24 tháng 10 năm 2013 lúc 0:39

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
2 của bạn đang sửa đổi mảng gốc trên dòng này:Oct 24, 2013 at 0:01

Hướng dẫn how to pass array of objects in javascript - cách truyền mảng đối tượng trong javascript

Cụ thể, nó đang loại bỏ tất cả trừ yếu tố đầu tiên. Bạn có thể nên sử dụng

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
3 để trích xuất không phá hủy một phần của mảng bạn muốn tái diễn.Ted Hopp

Đã trả lời ngày 24 tháng 10 năm 2013 lúc 0:0148 gold badges386 silver badges513 bronze badges

1

TED Hoppped Hopp

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
4

229K48 Huy hiệu vàng386 Huy hiệu bạc513 Huy hiệu Đồng

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
5

Như Ted Hopp đã đề cập, vấn đề dường như là dòng

kết hợp với dòng này:Oct 24, 2013 at 0:17

Hướng dẫn how to pass array of objects in javascript - cách truyền mảng đối tượng trong javascript

1

  1. Làm thế nào để
  2. JavaScript Howtos
  3. Chuyển mảng đến một hàm trong javascript

Được tạo ra: Tháng 1-19, 2022 | Cập nhật: Tháng 3-20, 2022

  1. Sử dụng phương thức
    var pitic = new Pitic(idPitic);
    piticiCollection.push(pitic);
    
    6 để chuyển một mảng cho một hàm trong javascript
  2. Sử dụng toán tử
    var pitic = new Pitic(idPitic);
    piticiCollection.push(pitic);
    
    7 để chuyển một mảng cho một hàm trong JavaScript
  3. Sử dụng đối tượng
    var pitic = new Pitic(idPitic);
    piticiCollection.push(pitic);
    
    8 để chuyển một mảng cho một hàm trong javascript

Hướng dẫn này nhằm mục đích dạy cho bạn các cách khác nhau để chuyển một mảng cho một hàm bằng JavaScript. Nó làm nổi bật phương thức

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
6, toán tử
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
7, đối tượng
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
8 và cách truyền toàn bộ mảng đến một hàm dưới dạng tham số.

Phương thức

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
6 thực thi một hàm có giá trị
function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}
3 và đưa ra các đối số dưới dạng một mảng hoặc đối tượng giống như mảng. Nó được sử dụng trên một chức năng cụ thể phải được thông qua.

Trong phương thức

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
6, giá trị
function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}
3 là tham số đầu tiên gọi đến hàm và
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
8 là thứ hai với mảng các đối số được truyền.

Hãy nhớ rằng, nếu giá trị

function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}
3 không thể là giá trị ban đầu được nhìn thấy bởi một hàm (nếu phương thức là một hàm trong mã chế độ không nghiêm ngặt). Đối tượng toàn cầu sẽ là
function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}
8 và
function determinaPerechi(somePitici) {
var piticDeComparat, colectieDePiticiCopy;
colectieDePiticiCopy = somePitici;

for (var i = 1; i < colectieDePiticiCopy.length; i++) {
    var piticDeComparat2 = null;
    piticDeComparat = colectieDePiticiCopy[0];
    piticDeComparat2 = colectieDePiticiCopy[i];

    if (piticDeComparat.inaltime < piticDeComparat2.inaltime) {
        //Perechea poate fi prietena
    }
}
//colectieDePiticiCopy.splice(0, 1);
if (colectieDePiticiCopy.length == 0) {
    //alert("finish");
    return;
}
determinaPerechi(colectieDePiticiCopy);
//test(ttt);
}
9, trong khi các giá trị nguyên thủy sẽ được đóng hộp.

Ecmascript 6 (ES6) cung cấp một toán tử tuyệt vời có tên

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
7. Nó được viết là
colectieDePitici.splice(1, colectieDePitici.length);
1 trong mã JavaScript. Toán tử này cho phép có thể lặp lại, ví dụ, các mảng. Nó được sử dụng để xử lý tất cả các phần tử mảng hoặc một đối tượng.

Mặt khác, đối tượng

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
8 là giống như mảng (có nghĩa là đối tượng
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
8 có thuộc tính
colectieDePitici.splice(1, colectieDePitici.length);
4) mà chúng ta có thể sử dụng trong hàm có các giá trị đối số.

Sử dụng phương thức var pitic = new Pitic(idPitic); piticiCollection.push(pitic); 6 để chuyển một mảng cho một hàm trong javascript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i<names.length; i++){
 		console.log(names[i]);
    }
}

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Trong ví dụ được đưa ra ở trên, chúng tôi có một mảng

colectieDePitici.splice(1, colectieDePitici.length);
6 và một hàm có tên
colectieDePitici.splice(1, colectieDePitici.length);
7 để in tất cả các phần tử của mảng
colectieDePitici.splice(1, colectieDePitici.length);
6. Chúng tôi sử dụng phương thức
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
6 để chuyển một mảng cho hàm
colectieDePitici.splice(1, colectieDePitici.length);
7.

Sử dụng toán tử var pitic = new Pitic(idPitic); piticiCollection.push(pitic); 7 để chuyển một mảng cho một hàm trong JavaScript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(...names);

function displayName(){
 	for(var i=0; i<names.length; i++){
 		console.log(names[i]);
    }
}

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Ở đây, chúng tôi có chức năng

colectieDePitici.splice(1, colectieDePitici.length);
6 và
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply(this, names);

function displayName(){
 	for(var i=0; i<names.length; i++){
 		console.log(names[i]);
    }
}
3 một lần nữa để in tất cả các phần tử mảng. Chúng tôi sử dụng cú pháp
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
7
colectieDePitici.splice(1, colectieDePitici.length);
1 để chuyển toàn bộ mảng cho hàm.

Sử dụng đối tượng var pitic = new Pitic(idPitic); piticiCollection.push(pitic); 8 để chuyển một mảng cho một hàm trong javascript

var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName(names);

function displayName(){
 	for(var i=0; i<arguments.length; i++){
 		console.log(arguments[i]);
    }
}

Output:

["Mehvish", "John", "Henry", "Thomas"]

Trong đoạn mã được đưa ra ở trên, chúng tôi sử dụng đối tượng

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
8 để chuyển mảng
colectieDePitici.splice(1, colectieDePitici.length);
6 cho hàm
colectieDePitici.splice(1, colectieDePitici.length);
7. Chúng ta có thể chuyển toàn bộ mảng đến hàm như một đối số để đơn giản hóa mã.

Đối với điều này, bạn có thể thực hành mã sau.

var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
0

Output:

"Mehvish"
"John"
"Henry"
"Thomas"

Bài viết liên quan - Mảng JavaScript

  • Kiểm tra xem mảng có chứa giá trị trong javascript không
  • Tạo mảng có độ dài cụ thể trong JavaScript
  • Chuyển đổi mảng thành chuỗi trong javascript
  • Xóa phần tử đầu tiên khỏi một mảng trong JavaScript
  • Làm thế nào để bạn gửi một mảng các đối tượng?

    Vượt qua mảng các đối tượng dưới dạng tham số trong mảng C ++ của các đối tượng: nó là một mảng có các phần tử thuộc loại lớp. Nó có thể được khai báo là một mảng của bất kỳ kiểu dữ liệu nào. Cú pháp: ClassName Array_Name [size];classname array_name [size];

    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 truy cập một mảng các đối tượng?

    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' }] };

    Làm thế nào để bạn vượt qua một mảng mảng trong JavaScript?

    Sử dụng phương thức Ứng dụng () để chuyển một mảng cho một hàm trong javascript ..
    Sử dụng toán tử lây lan để chuyển một mảng cho một hàm trong JavaScript ..
    Sử dụng đối tượng đối số để chuyển một mảng cho một hàm trong javascript ..