Hướng dẫn how to print nested object in javascript - cách in đối tượng lồng nhau trong javascript

8

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có một đối tượng lồng nhau như thế:

var conversation = {
    'John': {
        1: 'Test message 1',
        2: 'Test message 2',
        'Reply': {
            3: 'Test message 3',
            4: 'Test message 4'
        }
    },
    'Jack': {
        5: 'Test message 5',
        6: 'Test message 6'
    }
};

Tôi cần nhận tất cả các giá trị cuối cùng, vì vậy ví dụ đó, đó là:

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6

Làm thế nào để lặp lại đối tượng? Có chức năng tích hợp nào trong JQuery hoặc JavaScript không?

Hướng dẫn how to print nested object in javascript - cách in đối tượng lồng nhau trong javascript

Andy

57.1K12 Huy hiệu vàng64 Huy hiệu bạc91 Huy hiệu Đồng12 gold badges64 silver badges91 bronze badges

Hỏi ngày 8 tháng 4 năm 2015 lúc 13:32Apr 8, 2015 at 13:32

2

Bạn có thể sử dụng một số đệ quy để kiểm tra xem khóa được lặp lại có phải là một đối tượng hay không, sau đó in:

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);

Bản demo: http://jsfiddle.net/c7th2t8r/

Đã trả lời ngày 8 tháng 4 năm 2015 lúc 13:36Apr 8, 2015 at 13:36

Hướng dẫn how to print nested object in javascript - cách in đối tượng lồng nhau trong javascript

TYMEJVTYMEJVtymeJV

103K14 Huy hiệu vàng161 Huy hiệu bạc157 Huy hiệu đồng14 gold badges161 silver badges157 bronze badges

5

JQuery có từng chức năng mà bạn có thể sử dụng, ngoài ra còn có một chút đệ quy để đưa xuống đối tượng của bạn cho đến khi bạn đạt được thứ gì đó bạn có thể in.

var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);

Đã trả lời ngày 8 tháng 4 năm 2015 lúc 13:37Apr 8, 2015 at 13:37

2

Một cách chức năng hơn:

const getObjectValues = (obj) => (obj && typeof obj === 'object')
 ? Object.values(obj).map(getObjectValues).flat()
 : [obj]

Điều này trả về một mảng sau đó có thể được in:

console.log(getObjectValues(conversation))
// ["Test message 1", "Test message 2", "Test message 3", "Test message 4", "Test message 5", "Test message 6"]

EDIT:

Nếu

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
9 không có sẵn trong bối cảnh của bạn, nó có thể được viết theo cách này:

const getObjValues = (obj) => (obj && typeof obj === 'object')
  ? Object
    .values(obj)
    .map(getObjValues)
    .reduce((a, b) => a.concat(b), [])
  : [obj]

Đã trả lời ngày 5 tháng 5 năm 2020 lúc 10:07May 5, 2020 at 10:07

JaliljalilJalil

3.0903 Huy hiệu vàng29 Huy hiệu bạc37 Huy hiệu đồng3 gold badges29 silver badges37 bronze badges

1

Làm thế nào bạn có thể in toàn bộ đối tượng?, Bây giờ, tất cả đều ổn cho đến khi một mức độ làm tổ nhất định. Sau hai cấp độ làm tổ, Node.js bỏ cuộc và in [Object] như một trình giữ chỗ:, một khi bạn nhấp vào mũi tên, nhật ký được mở rộng và bạn có thể thấy rõ các thuộc tính đối tượng: là bằng cách sử dụng đặc tả định dạng %O, như vậy:

Bây giờ, tất cả đều ổn cho đến khi một mức độ làm tổ nhất định. Sau hai cấp độ làm tổ, Node.js bỏ cuộc và in

var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);
0 như một người giữ chỗ:

JScopyconst obj = {
   name: 'joe',
   age: 35,
   person1: {
      name: 'Tony',
      age: 50,
      person2: {
         name: 'Albert',
         age: 21,
         person3: {
            name: 'Peter',
            age: 23,
         },
      },
   },
};
console.log(obj);

Cách tốt nhất để làm như vậy, trong khi bảo tồn bản in đẹp, là sử dụng

JScopyconsole.log(JSON.stringify(obj, null, 2));

Một lựa chọn khác là sử dụng

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
0


Gợi ý: 2

Làm thế nào để lặp lại đối tượng? Có bất kỳ chức năng tích hợp nào trong JQuery hoặc JavaScript ?, Stack Overflow cho các nhóm nơi các nhà phát triển & công nghệ chia sẻ kiến ​​thức riêng tư với đồng nghiệp, Stack Overflow Câu hỏi & câu trả lời công khai, cảm ơn vì đã đóng góp câu trả lời cho Stack Overflow!

Bạn có thể sử dụng một số đệ quy để kiểm tra xem khóa được lặp lại có phải là một đối tượng hay không, sau đó in:

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
1

1._

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
2

var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
4

Một cách chức năng hơn:

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
5

Điều này trả về một mảng sau đó có thể được in:

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
6

Nếu

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
9 không có sẵn trong bối cảnh của bạn, nó có thể được viết theo cách này:

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
7


Gợi ý: 3

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
8

Test message 1
Test message 2
Test message 3
Test message 4
Test message 5
Test message 6
9


Gợi ý: 4

Triển khai tuyên bố trình gỡ lỗi để hỗ trợ mã gỡ lỗi., Sử dụng đệ quy để lặp qua các đối tượng và mảng lồng nhau.

Chúng ta đã có thể bắt đầu thấy một số vấn đề với việc cố gắng phù hợp với tất cả những điều này vào một đối tượng JavaScript nông (không được lồng):

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
0

Nếu chúng ta tổ chức lại đối tượng ở trên một chút, việc đọc và cập nhật sẽ trở nên dễ dàng hơn vô hạn:

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
1


Gợi ý: 5

Đưa ra một đối tượng JavaScript lồng nhau, nhiệm vụ là làm phẳng đối tượng và rút tất cả các giá trị đến một độ sâu duy nhất. Nếu các giá trị đã ở độ sâu duy nhất thì nó sẽ trả về kết quả không thay đổi., Cách nhận giá trị của nút radio đã chọn bằng JavaScript? của một trường đầu vào trong javascript

Output:

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
2


Gợi ý: 6

Để in đối tượng lồng nhau trong javascript, hãy sử dụng cho vòng lặp cùng với json.parse (). Sau đây là mã -, xây dựng một đối tượng JSON lồng nhau trong JavaScript, nhận giá trị cho khóa từ đối tượng JSON lồng nhau trong JavaScript, sắp xếp một đối tượng JSON trong JavaScript

Thí dụ

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
3

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

Điều này sẽ tạo ra đầu ra sau -

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
4


Gợi ý: 7

Sử dụng các vòng lặp, chúng ta có thể lặp qua từng phần tử trong một từ điển lồng nhau. Xóa các yếu tố khỏi từ điển lồng nhau.

Trong Python, một từ điển là một bộ sưu tập các mặt hàng không có thứ tự. Ví dụ:

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
5

Trong Python, một từ điển lồng nhau là một từ điển trong một từ điển. Đó là một tập hợp các từ điển thành một từ điển duy nhất.

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
6

Ví dụ 1: Cách tạo từ điển lồng nhau

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
7


Gợi ý: 8

Bạn cũng có thể sử dụng một cách thay thế bằng cách sử dụng hàm json.Stringify ()., Trang web này phụ thuộc vào cà phê để chức năng ❤

Không còn điều đó nữa! 😎 Bạn có thể in ra các nội dung đầy đủ bằng phương thức

var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);
2 sau đó chuyển đối tượng liên tục các đối tượng lồng nhau làm đối số đầu tiên và sau đó chuyển một đối tượng tùy chọn với khóa của
var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);
3 và giá trị của
var conversation = {
  'John': {
    1: 'Test message 1',
    2: 'Test message 2',
    'Reply': {
      3: 'Test message 3',
      4: 'Test message 4'
    }
  },
  'Jack': {
    5: 'Test message 5',
    6: 'Test message 6'
  }
};

function iterate(obj) {
  if (typeof obj === 'string') {
    $('#log').append((obj + '
')); } if (typeof obj === 'object') { $.each(obj, function(key, value) { iterate(value); }); } } iterate(conversation);
4 như thế này,

function printValues(obj) {
    for (var key in obj) {
        if (typeof obj[key] === "object") {
            printValues(obj[key]);   
        } else {
            console.log(obj[key]);    
        }
    }
}

printValues(conversation);
8


Làm thế nào tôi có thể in đối tượng trong JavaScript?

Phương thức Stringify () được sử dụng để in đối tượng JavaScript. Json. Phương thức Stringify (): JSON. Phương thức Stringify () được sử dụng để cho phép lấy một đối tượng hoặc mảng JavaScript và tạo chuỗi JSON từ nó. is used to print the JavaScript object. JSON. stringify() Method: The JSON. stringify() method is used to allow to take a JavaScript object or Array and create a JSON string out of it.

Làm thế nào để tôi tìm thấy giá trị của một đối tượ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' }] };

Chúng ta có thể có đối tượng lồng trong JavaScript không?

Bạn có thể tạo các đối tượng lồng nhau trong một đối tượng lồng nhau.Trong ví dụ sau, tiền lương là một đối tượng nằm trong đối tượng chính có tên là nhân viên.Ký hiệu chấm có thể truy cập thuộc tính của các đối tượng lồng nhau.. In the following example, Salary is an object that resides inside the main object named Employee . The dot notation can access the property of nested objects.

Đối tượng lồng nhau trong JavaScript là gì?

Định nghĩa cơ bản của một đối tượng trong JavaScript là một thùng chứa cho các giá trị được đặt tên gọi là Thuộc tính (khóa).Đôi khi, chúng ta cần tạo một đối tượng bên trong một đối tượng khác.Trong trường hợp này, nó được gọi là một đối tượng lồng nhau.create an object inside another object. In this case, it's called a nested object.