Giả sử bạn có một đối tượng javascript như thế này:Làm cách nào để truy cập các thuộc tính của đối tượng javascript nếu tôi không biết tên?
var data = { foo: 'bar', baz: 'quux' };
Bạn có thể truy cập vào các tính chất của các tên thuộc tính:
var foo = data.foo;
var baz = data["baz"];
Nhưng là nó có thể để có được những giá trị này nếu bạn không biết tên của các thuộc tính? Liệu bản chất không có thứ tự của những đặc tính này làm cho nó không thể phân biệt chúng?
Trong trường hợp của tôi, tôi đang suy nghĩ cụ thể về một tình huống mà một hàm cần chấp nhận một loạt các cặp giá trị tên, nhưng tên của các thuộc tính có thể thay đổi.
Suy nghĩ của tôi về cách thực hiện điều này cho đến nay là chuyển tên của thuộc tính cho hàm cùng với dữ liệu, nhưng điều này giống như một hack. Tôi muốn làm điều này với nội tâm nếu có thể.
Bây giờ điều này thực sự trả lời câu hỏi, cũng được thực hiện @Adam Lassek, rất độc đáo thực hiện. –
Việc gây hiểu nhầm là sử dụng cả 'tên' và 'giá trị' làm khóa đối tượng. Hàm này chỉ trả về các khóa trong danh sách chứ không trả về các giá trị. {name1: 'value1', name2: 'value2'} sẽ tránh nhầm lẫn cho người mới bắt đầu. Object.keys (dữ liệu); // ['name1', 'name2'] –
@JamesNicholson Tôi đồng ý, chỉnh sửa để ít gây nhầm lẫn. –