Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Đầu ra của

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
6 là sai lệch; Trạng thái của đối tượng được hiển thị chỉ được giải quyết khi bạn mở rộng cây đối tượng được hiển thị trong bảng điều khiển, bằng cách nhấp vào
var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
7. Nó không phải là trạng thái của đối tượng khi bạn ________ 38 sẽ là đối tượng.not the state of the object when you
var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
8'd the object.

Thay vào đó, hãy thử

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
9, hoặc thậm chí
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
0 và bạn sẽ thấy các phím, hoặc trạng thái của đối tượng tại thời điểm bạn gọi
var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
8.

Bạn sẽ (thường) tìm các khóa đang được thêm vào sau cuộc gọi

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
8 của bạn.

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Đã trả lời ngày 9 tháng 7 năm 2013 lúc 11:25Jul 9, 2013 at 11:25

6

Tôi vừa gặp vấn đề này với một tài liệu được tải từ MongoDB bằng Mongoose.

Khi chạy

var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
3 trên toàn bộ đối tượng, tất cả các trường tài liệu (như được lưu trữ trong DB) sẽ hiển thị. Tuy nhiên, một số người truy cập tài sản riêng lẻ sẽ trả lại
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
4, khi những người khác (bao gồm cả
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
5) hoạt động tốt.

Hóa ra Trình truy cập tài sản chỉ hoạt động cho các trường đó được chỉ định trong định nghĩa

var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
6 của tôi, trong khi
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
3 và
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
8 trả về tất cả các trường được lưu trữ trong DB.

Giải pháp (nếu bạn đang sử dụng Mongoose): Đảm bảo tất cả các trường DB của bạn được xác định trong

var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
6.: make sure all your db fields are defined in
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
6.

Đã trả lời ngày 9 tháng 4 năm 2016 lúc 20:35Apr 9, 2016 at 20:35

raminraminramin

1.1327 huy hiệu bạc5 huy hiệu đồng7 silver badges5 bronze badges

8

Kiểm tra xem bên trong đối tượng có một mảng các đối tượng không. Tôi đã có một vấn đề tương tự với một JSON:

    "terms": {
        "category": [
            {
                "ID": 4,
                "name": "Cirugia",
                "slug": "cirugia",
                "description": "",
                "taxonomy": "category",
                "parent": null,
                "count": 68,
                "link": "http://distritocuatro.mx/enarm/category/cirugia/"
            }
        ]
    }

Tôi đã cố gắng truy cập 'tên' tên 'từ' danh mục 'và tôi đã gặp lỗi không xác định, bởi vì tôi đã sử dụng:

var_name = obj_array.terms.category.name

Sau đó, tôi nhận ra rằng nó có dấu ngoặc vuông, điều đó có nghĩa là nó có một loạt các đối tượng bên trong khóa danh mục, bởi vì nó có thể có nhiều hơn một đối tượng danh mục. Vì vậy, để có được khóa 'tên', tôi đã sử dụng cái này:

var_name = obj_array.terms.category[0].name

Và đó là thủ thuật.

Có thể đã quá muộn cho câu trả lời này, nhưng tôi hy vọng ai đó có cùng một vấn đề sẽ tìm thấy điều này như tôi đã làm trước khi tìm ra giải pháp :)

Đã trả lời ngày 11 tháng 8 năm 2015 lúc 21:27Aug 11, 2015 at 21:27

Asaf Lopezasaf LopezAsaf Lopez

5295 Huy hiệu bạc8 Huy hiệu Đồng5 silver badges8 bronze badges

0

Tôi gặp vấn đề tương tự. Giải pháp cho tôi là sử dụng đầu ra chuỗi làm đầu vào để phân tích cú pháp JSON. Điều này làm việc cho tôi. Hy vọng nó hữu ích cho bạn

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tunaki

128K45 Huy hiệu vàng324 Huy hiệu bạc407 Huy hiệu đồng45 gold badges324 silver badges407 bronze badges

Đã trả lời ngày 27 tháng 1 năm 2016 lúc 13:03Jan 27, 2016 at 13:03

TẢI XUỐNGTope

8882 Huy hiệu vàng11 Huy hiệu bạc15 Huy hiệu đồng2 gold badges11 silver badges15 bronze badges

3

Tài sản bạn đang cố gắng truy cập có thể chưa tồn tại. Console.log hoạt động vì nó thực thi sau một độ trễ nhỏ, nhưng đó không phải là trường hợp cho phần còn lại của mã của bạn. Thử cái này:

var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);

Đã trả lời ngày 27 tháng 3 năm 2016 lúc 18:18Mar 27, 2016 at 18:18

Lai Xuelai XueLai Xue

1.4571 Huy hiệu vàng15 Huy hiệu bạc17 Huy hiệu đồng1 gold badge15 silver badges17 bronze badges

3

Trong trường hợp của tôi, tôi đã chuyển một đối tượng cho một lời hứa, trong lời hứa, tôi đã thêm nhiều khóa/giá trị vào đối tượng và khi nó được thực hiện, lời hứa đã trả lại đối tượng.

Tuy nhiên, một chút nhìn về phía tôi, lời hứa đã trả lại đối tượng trước khi nó hoàn thành hoàn toàn ... do đó, phần còn lại của mã của tôi đã cố gắng xử lý đối tượng được cập nhật và dữ liệu chưa có ở đó. Nhưng như trên, trong bảng điều khiển, tôi đã thấy đối tượng được cập nhật đầy đủ nhưng không thể truy cập các phím - chúng đã trở lại không xác định. Cho đến khi tôi thấy điều này:

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*

[I] là một biểu tượng nhỏ, khi tôi lơ lửng trên nó, nó nói

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
0. Đó là khi tôi nhận ra rằng đối tượng của tôi đã được đánh giá trước khi lời hứa đã cập nhật đầy đủ nó.

Đã trả lời ngày 21 tháng 9 năm 2016 lúc 2:18Sep 21, 2016 at 2:18

Rolingerrolingerrolinger

2.53128 Huy hiệu bạc45 Huy hiệu đồng28 silver badges45 bronze badges

0

Tôi đã đấu tranh với vấn đề này ngày hôm nay và nghĩ rằng tôi sẽ để lại câu trả lời với giải pháp của mình.

Tôi đã tìm nạp một đối tượng dữ liệu thông qua ajax, một cái gì đó như thế này:

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
1

Giả sử đối tượng này nằm trong một biến gọi là dữ liệu. Bất cứ khi nào tôi tham chiếu

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
2 tôi nhận được
var a = config.col_id_3;    //undefined

setTimeout(function()
{
    var a = config.col_id_3;    //voila!

}, 100);
4.

  1. console.log(obj) ;
    console.log(obj.newKey1) ;
    
    // returned in console
    > Object { origKey1: "blah", origKey2: "blah blah"} [i]
        origKey1: "blah"
        origKey2: "blah blah"
        newKey1: "this info"
        newKey2: "that info"
        newKey3: " more info"
    > *undefined*
    
    4 cho thấy đối tượng như mong đợi
  2. console.log(obj) ;
    console.log(obj.newKey1) ;
    
    // returned in console
    > Object { origKey1: "blah", origKey2: "blah blah"} [i]
        origKey1: "blah"
        origKey2: "blah blah"
        newKey1: "this info"
        newKey2: "that info"
        newKey3: " more info"
    > *undefined*
    
    5 cho biết
    console.log(obj) ;
    console.log(obj.newKey1) ;
    
    // returned in console
    > Object { origKey1: "blah", origKey2: "blah blah"} [i]
        origKey1: "blah"
        origKey2: "blah blah"
        newKey1: "this info"
        newKey2: "that info"
        newKey3: " more info"
    > *undefined*
    
    6 như mong đợi
  3. Đổi tên i18n thành inter không thay đổi bất cứ điều gì
  4. Tôi thậm chí đã cố gắng chuyển dữ liệu để tạo "i18n" đối tượng đầu tiên
  5. Mã di chuyển xung quanh để đảm bảo hoàn toàn đối tượng được thiết lập hoàn toàn và không có vấn đề gì với Ajax Promise.

Không có gì có ích ... sau đó ở phía máy chủ, tôi đã viết dữ liệu vào nhật ký PHP và nó đã tiết lộ điều này:

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
7

"I" trong khóa chỉ mục thực sự là U0456 (Cyrillic I). Điều này không thể nhìn thấy trong trình chỉnh sửa PHP của tôi hoặc nhật ký bảng điều khiển trình duyệt. Chỉ có nhật ký PHP mới tiết lộ điều này ... đó là một điều khó khăn ...

Đã trả lời ngày 8 tháng 10 năm 2015 lúc 13:16Oct 8, 2015 at 13:16

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

JettejetteJette

2.30927 Huy hiệu bạc34 Huy hiệu đồng27 silver badges34 bronze badges

2

Dữ liệu của tôi chỉ là chuỗi dữ liệu JSON. (Biến này được lưu trữ dưới dạng chuỗi JSON trong phiên).

console.log(json_string_object)

-> Trả về chỉ biểu diễn của chuỗi này và không có cách nào để tạo sự khác biệt cho dù là chuỗi hay đối tượng.

Vì vậy, để làm cho nó hoạt động, tôi chỉ cần chuyển đổi nó trở lại đối tượng thực:

object = JSON.parse(json_string_object);

Đã trả lời ngày 1 tháng 11 năm 2016 lúc 15:27Nov 1, 2016 at 15:27

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Makkasimakkasimakkasi

4.9293 Huy hiệu vàng44 Huy hiệu bạc59 Huy hiệu Đồng3 gold badges44 silver badges59 bronze badges

1

Tôi vừa gặp phải vấn đề này với các đối tượng được tạo bởi CSV-Parser từ tệp CSV được tạo bởi MS Excel. Tôi đã có thể truy cập tất cả các thuộc tính ngoại trừ thuộc tính đầu tiên - nhưng nó sẽ hiển thị OK nếu tôi viết toàn bộ đối tượng bằng cách sử dụng Console.log.

Hóa ra định dạng CSV UTF-8 chèn 3 byte (EF BB BF) khi bắt đầu tương ứng với một ký tự vô hình-được đưa vào như một phần của tiêu đề thuộc tính đầu tiên của CSV-pryer. Giải pháp là tạo lại CSV bằng tùy chọn không UTF và điều này đã loại bỏ ký tự vô hình.

Đã trả lời ngày 25 tháng 10 năm 2018 lúc 16:51Oct 25, 2018 at 16:51

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Mike Rizzomike RizzoMike Rizzo

1211 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges

5

Trong năm 2018, Mozilla cảnh báo chúng tôi trong các tài liệu Mozilla ở đây!

Tôi trích dẫn "đối tượng ghi nhật ký":"Logging Objects":

Không sử dụng

console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
8, sử dụng
console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
9.
use
console.log(obj) ;
console.log(obj.newKey1) ;

// returned in console
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
    origKey1: "blah"
    origKey2: "blah blah"
    newKey1: "this info"
    newKey2: "that info"
    newKey3: " more info"
> *undefined*
9.

Bằng cách này, bạn chắc chắn rằng bạn đang nhìn thấy giá trị của OBJ tại thời điểm bạn đăng nhập nó.

Đã trả lời ngày 22 tháng 2 năm 2018 lúc 14:46Feb 22, 2018 at 14:46

Mateut Alinmateut AlinMateut Alin

1.0833 huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng3 gold badges16 silver badges31 bronze badges

0

Nếu đây là một vấn đề xảy ra khi làm việc với Mongoose, thì điều này có thể xảy ra:Mongoose, the following may happen:

console.log(object)

Trả về mọi thứ, bao gồm cả khóa mong muốn.

console.log(object.key)

trả lại không xác định.

Nếu điều đó đang xảy ra, điều đó có nghĩa là chìa khóa bị thiếu trong lược đồ Mongoose. Thêm nó vào sẽ giải quyết vấn đề.

Đã trả lời ngày 13 tháng 7 năm 2020 lúc 11:12Jul 13, 2020 at 11:12

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Julian E.Julian E.Julian E.

4.6496 Huy hiệu vàng35 Huy hiệu bạc48 Huy hiệu đồng6 gold badges35 silver badges48 bronze badges

1

Đối với tôi, hóa ra đó là một vấn đề liên quan đến Mongoose.

Tôi đã lặp lại các vật thể mà tôi nhận được từ một truy vấn Mongo. Tôi chỉ cần loại bỏ:

var_name = obj_array.terms.category.name
0

Và thay thế nó bằng:

var_name = obj_array.terms.category.name
1

Đã trả lời ngày 24 tháng 2 năm 2019 lúc 17:19Feb 24, 2019 at 17:19

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

RemideJremidejremidej

1.1501 huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng1 gold badge11 silver badges21 bronze badges

2

Điều này có thể giúp ai đó khi tôi gặp vấn đề tương tự trong đó json.parse () đang trả về một đối tượng mà tôi có thể in trên console.log () nhưng tôi không thể xác nhận các trường cụ thể và không có giải pháp nào trên tôi. Giống như sử dụng kết hợp json.parse () với json.Stringify ().

var_name = obj_array.terms.category.name
2

Cuối cùng tôi đã giải quyết vấn đề bằng cách sử dụng một trình phân tích cú pháp khác được cung cấp bởi extjs ext.decode ();

var_name = obj_array.terms.category.name
3

Đã trả lời ngày 16 tháng 2 năm 2018 lúc 17:26Feb 16, 2018 at 17:26

user_CCuser_CCuser_CC

4.6463 Huy hiệu vàng19 Huy hiệu bạc15 Huy hiệu Đồng3 gold badges19 silver badges15 bronze badges

Tôi đã có cùng một vấn đề và không có giải pháp nào ở trên cho tôi và nó cảm thấy như đoán công việc sau đó. Tuy nhiên, việc gói mã của tôi tạo ra đối tượng trong hàm

console.log(json_string_object)
0 đã thực hiện thủ thuật cho tôi.

var_name = obj_array.terms.category.name
4

Đã trả lời ngày 15 tháng 3 năm 2017 lúc 7:21Mar 15, 2017 at 7:21

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tushar Shuklatushar ShuklaTushar Shukla

4.7772 Huy hiệu vàng26 Huy hiệu bạc38 Huy hiệu Đồng2 gold badges26 silver badges38 bronze badges

Tôi vừa gặp vấn đề tương tự với một tài liệu được tải từ MongoDB bằng Mongoose.

Hóa ra tôi đang sử dụng thuộc tính

console.log(json_string_object)
1 để trả về chỉ một đối tượng, vì vậy tôi đã thay đổi
console.log(json_string_object)
1 thành
console.log(json_string_object)
3 và mọi thứ đều hoạt động cho tôi.

Giải pháp (nếu bạn đang sử dụng Mongoose): Đảm bảo chỉ trả về một đối tượng, vì vậy bạn có thể phân tích

console.log(json_string_object)
4 của nó hoặc nó sẽ được coi là một mảng để bạn cần phải kích hoạt như vậy
console.log(json_string_object)
5.

Đã trả lời ngày 19 tháng 4 năm 2018 lúc 13:33Apr 19, 2018 at 13:33

2

Trong trường hợp của tôi, điều đó chỉ xảy ra là mặc dù tôi nhận được dữ liệu ở định dạng của một mô hình như đối tượng

console.log(json_string_object)
6 cho đến khi đối tượng nhận được là loại chuỗi. Đó là y trong console.log (dữ liệu) Tôi nhận được nội dung. Giải pháp chỉ là để phân tích JSON (trong trường hợp của tôi)

var_name = obj_array.terms.category.name
5

Nghĩ có thể hữu ích.

Đã trả lời ngày 29 tháng 7 năm 2018 lúc 5:43Jul 29, 2018 at 5:43

Tôi đã có vấn đề tương tự, hy vọng giải pháp sau đây sẽ giúp ai đó. Bạn có thể sử dụng chức năng

console.log(json_string_object)
0 như một số người ở đây đề xuất, nhưng bạn không bao giờ biết trình duyệt của bạn cần chính xác như thế nào để xác định đối tượng của mình.
You can use
console.log(json_string_object)
0
function as some guys here suggesting, but you never know how exactly long does your browser need to get your object defined.

Thay vào đó, tôi khuyên bạn nên sử dụng chức năng

console.log(json_string_object)
8. Nó sẽ đợi cho đến khi đối tượng của bạn
console.log(json_string_object)
9 được xác định và sau đó bắn phần mã tiếp theo của bạn yêu cầu các thuộc tính đối tượng cụ thể của bạn.
console.log(json_string_object)
8
function instead. It will wait until your object
console.log(json_string_object)
9 gets defined and then fire your next code part that requires your specific object properties.

var_name = obj_array.terms.category.name
6

Đã trả lời ngày 26 tháng 11 năm 2018 lúc 13:20Nov 26, 2018 at 13:20

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Oleksa O.oleksa O.Oleksa O.

6715 Huy hiệu bạc14 Huy hiệu Đồng5 silver badges14 bronze badges

Nếu bạn đang sử dụng

object = JSON.parse(json_string_object);
0 và/hoặc
object = JSON.parse(json_string_object);
1, đó có thể là thế này!

object = JSON.parse(json_string_object);
2

Đặt loại phản hồi cho bất kỳ sự cố nào đã được khắc phục cho tôi, tôi không thể truy cập các thuộc tính trên phản hồi cho đến khi tôi đặt res: bất kỳany fixed this issue for me, I couldn't access properties on the response until i set res: any

Xem thuộc tính câu hỏi này '_body' không tồn tại trên 'câu trả lời'

Philipp

2.7902 Huy hiệu vàng26 Huy hiệu bạc27 Huy hiệu đồng2 gold badges26 silver badges27 bronze badges

Đã trả lời ngày 2 tháng 11 năm 2017 lúc 19:35Nov 2, 2017 at 19:35

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tôi đã có một vấn đề tương tự hoặc có thể chỉ liên quan.

Đối với trường hợp của tôi, tôi đã truy cập các thuộc tính của một đối tượng nhưng một người không được xác định. Tôi thấy vấn đề là không gian trắng trong mã phía máy chủ trong khi tạo khóa, val của đối tượng.

Cách tiếp cận của tôi như sau ...

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Sau khi xóa không gian trắng khỏi mã phía máy chủ tạo đối tượng, giờ đây tôi có thể truy cập thuộc tính như bên dưới ...

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Đây có thể không phải là vấn đề với trường hợp của câu hỏi chủ đề nhưng là trường hợp của tôi và có thể là như vậy đối với một số người khác. Hy vọng nó giúp.

Đã trả lời ngày 20 tháng 4 năm 2017 lúc 8:11Apr 20, 2017 at 8:11

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

rey_coderrey_coderrey_coder

4128 Huy hiệu bạc12 Huy hiệu đồng8 silver badges12 bronze badges

0

Tôi cũng chỉ gặp phải vấn đề này, và câu chuyện dài API của tôi đã trả lại một loại chuỗi chứ không phải JSON. Vì vậy, nó trông giống hệt nhau khi bạn in nó vào nhật ký tuy nhiên bất cứ khi nào tôi cố gắng truy cập các thuộc tính, nó đã cho tôi một lỗi không xác định.

Mã API:

var_name = obj_array.terms.category.name
7

Trước đây tôi vừa trở lại:

var_name = obj_array.terms.category.name
8

Đã trả lời ngày 19 tháng 12 năm 2019 lúc 4:23Dec 19, 2019 at 4:23

ZapnologicazapnologicaZapnologica

21.5K43 Huy hiệu vàng152 Huy hiệu bạc245 Huy hiệu Đồng43 gold badges152 silver badges245 bronze badges

Điều đầu tiên kiểm tra loại như dưới đây:

var_name = obj_array.terms.category.name
9

Nếu lệnh trên in đối tượng thì rất dễ dàng, bạn chỉ cần sử dụng ký hiệu khung. Ký hiệu khung có thể khá hữu ích nếu bạn muốn tìm kiếm các giá trị thuộc tính của các giá trị.

Thực hiện lệnh bên dưới:

var_name = obj_array.terms.category[0].name
0

Nếu nó là một chuỗi bạn cần phân tích cú pháp trong đối tượng trước. Để làm điều đó, bạn cần thực thi lệnh bên dưới:

var_name = obj_array.terms.category[0].name
1

Và sau đó sử dụng ký hiệu khung để truy cập thuộc tính như bên dưới:

var_name = obj_array.terms.category[0].name
2

Đã trả lời ngày 31 tháng 7 năm 2020 lúc 14:49Jul 31, 2020 at 14:49

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tôi đã có một vấn đề như thế này, và tìm thấy giải pháp là để làm với Undercore.js. Ghi nhật ký ban đầu của tôi không có ý nghĩa:

var_name = obj_array.terms.category[0].name
3

Tôi tìm thấy giải pháp bằng cách nhìn vào các khóa của đối tượng:

var_name = obj_array.terms.category[0].name
4

Điều này dẫn tôi nhận ra rằng

object = JSON.parse(json_string_object);
3 thực sự là một bản bao gồm các dấu gạch dưới xung quanh một vật thể, và việc gỡ lỗi ban đầu đang nói dối tôi.

Đã trả lời ngày 6 tháng 5 năm 2016 lúc 11:08May 6, 2016 at 11:08

Marcus Downingmarcus DowningMarcus Downing

9.91410 Huy hiệu vàng62 Huy hiệu bạc84 Huy hiệu đồng10 gold badges62 silver badges84 bronze badges

Tôi đã gặp vấn đề tương tự (khi phát triển cho SugarCrm), nơi tôi bắt đầu với:

var_name = obj_array.terms.category[0].name
5

Vấn đề là trong

object = JSON.parse(json_string_object);
4, cuộc gọi không đồng bộ của nó vì vậy tôi phải viết lại mã của mình thành:

var_name = obj_array.terms.category[0].name
6

Đã trả lời ngày 1 tháng 6 năm 2017 lúc 9:43Jun 1, 2017 at 9:43

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

MariyomariyoMariyo

4447 Huy hiệu bạc15 Huy hiệu Đồng7 silver badges15 bronze badges

Chỉ trong trường hợp điều này hữu ích cho ai đó, tôi có một vấn đề tương tự và đó là vì ai đó đã tạo ra một sự ghi đè cho .tojson trong đối tượng tôi đang làm việc. Vì vậy, đối tượng giống như:

var_name = obj_array.terms.category[0].name
7

Nhưng .tojson () là:

var_name = obj_array.terms.category[0].name
8

Vì vậy, khi tôi gọi json.Stringify (myObject), nó đã trả lại "{" bar ":" Xin chào "," Baz ":" World "}". Tuy nhiên, Object.Keys (MyObject) đã tiết lộ "foo".

Đã trả lời ngày 11 tháng 8 năm 2017 lúc 20:35Aug 11, 2017 at 20:35

2

Tôi đã phải đối mặt với vấn đề tương tự ngày hôm nay. Trong trường hợp của tôi, các phím đã được lồng, i.e key1.key2. Tôi chia các phím bằng cách sử dụng split () và sau đó sử dụng ký hiệu khung vuông, hoạt động cho tôi.

var_name = obj_array.terms.category[0].name
9

Tôi chia các phím và sử dụng nó như thế này, Data [Key1] [Key2] đã làm công việc cho tôi.

Đã trả lời ngày 11 tháng 10 năm 2017 lúc 21:02Oct 11, 2017 at 21:02

Tôi đã có cùng một vấn đề ngày hôm nay. Vấn đề là do Uglify-JS gây ra. Sau khi tôi thực hiện cùng một vấn đề mã không đào đã được giải quyết. Loại bỏ

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
0

Từ UGLIFY-JS là đủ để có mã UGLECED hoạt động.

Có lẽ, thực tiễn tốt nhất là sử dụng một số tiền tố cho các thuộc tính phải được xử lý với quy tắc regex cho uglify-js.

Đây là nguồn:

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
1

Và đây là cách nó bị xấu hổ:

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
2

Đã trả lời ngày 25 tháng 1 năm 2018 lúc 12:42Jan 25, 2018 at 12:42

Không ai trong số các chuỗi JSON/Parse làm việc cho tôi.

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
3

Tôi muốn giá trị của

object = JSON.parse(json_string_object);
5 và những gì đã làm được là một setTimeout 0 như trong ví dụ dưới đây. Hy vọng nó giúp.

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
4

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

B--rian

5.27810 Huy hiệu vàng36 Huy hiệu bạc78 Huy hiệu đồng10 gold badges36 silver badges78 bronze badges

Đã trả lời ngày 5 tháng 9 năm 2019 lúc 15:05Sep 5, 2019 at 15:05

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tôi đã có một vấn đề tương tự ngày hôm nay trong React. Cuối cùng nhận ra rằng vấn đề đã được gây ra bởi nhà nước chưa được thiết lập. Tôi đã gọi

object = JSON.parse(json_string_object);
6 và mặc dù nó đã hiển thị trong bảng điều khiển, tôi dường như không thể truy cập nó trong thành phần của mình cho đến khi tôi bao gồm một séc để kiểm tra xem
object = JSON.parse(json_string_object);
7 có được đặt và sau đó gọi
object = JSON.parse(json_string_object);
6.

Đã trả lời ngày 17 tháng 6 năm 2020 lúc 19:05Jun 17, 2020 at 19:05

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

AdebolaadebolaAdebola

4791 Huy hiệu vàng7 Huy hiệu bạc1 gold badge7 silver badges10 bronze badges

Kiểm tra xem bạn đã áp dụng bất kỳ bộ lọc nào trong bảng điều khiển. Nó xảy ra với tôi trong bảng điều khiển Chrome.

Đã trả lời ngày 13 tháng 8 năm 2020 lúc 10:29Aug 13, 2020 at 10:29

Hướng dẫn javascript object undefined but exists - đối tượng javascript không xác định nhưng tồn tại

Tôi cũng có vấn đề bực bội này, tôi đã thử các giải pháp

object = JSON.parse(json_string_object);
9 và
console.log(object)
0 và
console.log(object)
1 ngay cả khi tôi biết nó sẽ không hoạt động vì tôi nghĩ rằng chúng chủ yếu là JSON hoặc các vấn đề liên quan đến JSON, chắc chắn rằng nó không hoạt động. Trong trường hợp của tôi, tôi đã không nhận thấy ngay lập tức rằng đó là một sai lầm ngớ ngẩn. Tôi thực sự đã truy cập một tên tài sản với một vỏ khác. Nó giống như thế này:

var x =JSON.parse(JSON.stringify(obj));
console.log(x.property_actually_now_defined);
5

Tôi phải mất một thời gian để nhận thấy tên tài sản trong trường hợp của tôi có thể có tất cả các trường hợp thường hoặc một số trường hợp hỗn hợp. Hóa ra một chức năng trong ứng dụng web của tôi có một cái gì đó tạo ra một mớ tên tài sản của tôi (nó có một

console.log(object)
2 bên cạnh tên khóa được tạo 🤣).

Vì vậy, bài học kinh nghiệm, kiểm tra tên tài sản CASING đúng hơn.

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

jp06jp06jp06

Huy hiệu đồng 1451 Bạc8 Huy hiệu Đồng1 silver badge8 bronze badges

Tại sao đối tượng của tôi không xác định JavaScript?

Một biến chưa được gán một giá trị là loại không xác định.Một phương thức hoặc câu lệnh cũng trả về không xác định nếu biến đang được đánh giá không có giá trị được gán.Một hàm trả về không xác định nếu một giá trị không được trả về. is of type undefined . A method or statement also returns undefined if the variable that is being evaluated does not have an assigned value. A function returns undefined if a value was not returned .

Tại sao thuộc tính đối tượng của tôi không được xác định?

Thuộc tính không xác định chỉ ra rằng một biến chưa được gán một giá trị, hoặc hoàn toàn không được khai báo.a variable has not been assigned a value, or not declared at all.

Làm thế nào để bạn kiểm tra xem đối tượng JavaScript không được xác định?

Trong chương trình JavaScript, cách chính xác để kiểm tra xem thuộc tính đối tượng không được xác định là sử dụng toán tử typeof.Nếu giá trị không được xác định, typeOf sẽ trả về chuỗi 'không xác định'.use the typeof operator. If the value is not defined, typeof returns the 'undefined' string.

Làm thế nào để bạn kiểm tra xem một thuộc tính có tồn tại trong một đối tượng JavaScript không?

Phương thức HasownProperty () sẽ kiểm tra xem một đối tượng có chứa thuộc tính trực tiếp hay không và sẽ trả về đúng hoặc sai nếu nó tồn tại hay không.Phương thức HasownProperty () sẽ chỉ trả về true cho các thuộc tính trực tiếp và không được kế thừa các thuộc tính từ chuỗi nguyên mẫu. will check if an object contains a direct property and will return true or false if it exists or not. The hasOwnProperty() method will only return true for direct properties and not inherited properties from the prototype chain.