내 코드가 작동하고 이유를 알지 못함 (객체 작업)

proXima

다음 개체가 있습니다.

var dataset = [
      [
        {"value":"PRE","formattedValue":"PRE"},
        {"value":"2017-06-15 00:00:00","formattedValue":"15/06/2017 0:00:00"},
        {"value":"COSTA RICA","formattedValue":"COSTA RICA"},
        {"value":"6.15","formattedValue":"6,150"}
      ],
      [
        {"value":"PRE","formattedValue":"PRE"},
        {"value":"2017-06-15 00:00:00","formattedValue":"15/06/2017 0:00:00"},
        {"value":"EL SALVADOR","formattedValue":"EL SALVADOR"}
      ]
]

너무 복잡하고 실제로 필요하지 않은 데이터가 있으므로 이것을 다음과 같이 바꾸려고했습니다.

[
    {
        "estado":       "PRE",
        "fecha":   "2017-06-15 00:00:00",
        "pais":     "COSTA RICA",
        "precio": "6.15",       
    }
]

마침내 해냈지만 내 코드가 왜 작동하는지 잘 모르겠습니다. 이 코드로 수행했습니다.

var datafinal = [];
function convertion(){
    var dataobj = dataset.getData();            
    for(var x in dataobj){
        datafinal[x] = { "estado": dataobj[x][0]["value"] };
        datafinal[x]["fecha"] = dataobj[x][1]["value"];
        datafinal[x]["pais"] = dataobj[x][2]["value"];
        datafinal[x]["precio"] = dataobj[x][3]["value"];
    }               
}

주의를 기울이면 새 개체에 추가 한 첫 번째 값이 나머지 형식과는 다른 형식을 사용하여 추가되는 것을 볼 수 있습니다.

두 번째 형식으로 모든 값을 추가하면 아무것도 추가하지 않는다는 것을 발견했습니다. 그러나 첫 번째 형식으로 모든 것을 추가하면 마지막 값만 추가됩니다.

그래서 저는 베일을 첫 번째 형식으로 만들고 나머지는 두 번째 형식으로 만들었고 제대로 작동했습니다.

... 왜 왜 이런 일이 발생하는지 설명해 줄 수 있습니까?

Tricot

이것은 처음 datafinal[x]에는 아직 존재하지 않기 때문에 값을 제공해야합니다. 즉, 객체를 할당해야합니다. 그것이 첫 번째 과제가하는 일입니다. 다른 할당은 첫 번째 줄에서 할당 한 값 대체 하지 않기를 원하기 때문에 기존 값을 변경 합니다 .

다른 할당은 datafinal[x]자신 에게 할당되지 않고 속성에 기록됩니다. 따라서 첫 번째 할당에서 할당 한 개체를 확장합니다.

실제로 첫 번째 할당은 두 부분으로 나눌 수 있습니다.

datafinal[x] = {};
datafinal[x].estado = dataobj[x][0].value;

... 이제 모든 속성 할당이 동일하게 보일 수 있습니다 (주의 : 이러한 리터럴 속성 이름에 대괄호 표기법이 필요하지 않습니다). 첫 번째 할당은 이제 값을 객체로 초기화하는 것입니다 (숫자, 문자열, 부울 ...이 아니라). 이러한 할당이 없으면 개체가 없으며 속성을 할당 할 수 없습니다.

하나의 객체 리터럴 할당으로 작성하면 이해하기 더 쉽게 만들 수 있습니다.

datafinal[x] = { 
    estado: dataobj[x][0].value,
    fecha: dataobj[x][1].value,
    pais: dataobj[x][2].value,
    precio: dataobj[x][3].value
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 코드가 작동하지 않는 이유를 모르겠습니다! 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?

분류에서Dev

이 HTML 코드를 Javascript 함수 및 유효성 검사로 작성했지만 유효성 검사가 작동하지 않습니다. 내가 뭘 잘못하고 있는지

분류에서Dev

`treemap.nodes`가 내 객체에 대한 업데이트를 보지 못하는 이유는 무엇입니까?

분류에서Dev

숫자 합계 코드가 작동하지 않는 이유를 이해하지 못함

분류에서Dev

VB.net에서 유클리드의 알고리즘을 작성하고 있지만 어떤 이유로 작동하지 않으며 내 논리가 옳다고 확신합니다. 내가 어디로 잘못 가고 있니?

분류에서Dev

CodeSignal에서 코드가 잘못 작동합니다. 내 코드 결함인지 확실하지 않음

분류에서Dev

이 코드를 작동시킬 수 없습니다. 누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? subl은 18 행에 오류가 있다고 말하지만 실제로는 알아낼 수 없습니다.

분류에서Dev

내 pyautogui 코드가 잘 작동하지 않는 이유

분류에서Dev

내 각도 js 코드가 작동하지 않는 이유

분류에서Dev

내 코드에서 업데이트 쿼리가 작동하지 않습니다.

분류에서Dev

누군가 내가 작성한이 Python 코드를 스캔하여 내가 뭘 잘못했는지 알려줄 수 있습니까?

분류에서Dev

Flow가 문자열 판별자를 사용하여 내 작업 유형별로 구체화하지 못하는 이유는 무엇입니까?

분류에서Dev

작업 대 오래된 프로젝트 및 내가 이해하지 못하는 코드 찾기

분류에서Dev

내 코드에서 ""을 (를) 사용하는 이유를 이해하지 못하지만 ''와 동일한 코드는 작동하지 않습니다.

분류에서Dev

이 코드가 작동하지 않는 이유는 무엇입니까? 나는 이것을 알아 내려고 오랜 시간을 보냈다.

분류에서Dev

Flowtype이 객체 내부의 속성 유형을 감지하지 못함

분류에서Dev

특정 케이스에서 내 코드가 작동하지 않는 이유를 알 수 없음 (Letcode에서 코인 변경)

분류에서Dev

내 Scrollspy가 작동하지 않는 이유를 알 수 있습니까?

분류에서Dev

내 clearfix가 작동하지 않는 이유를 알 수 없습니다.

분류에서Dev

상수가 아닌 객체에 대한 const_iterator에서 알고리즘이 작동하지 않습니다.

분류에서Dev

Grunt Watch 작업이 ES6 코드를 변환하지 못함

분류에서Dev

as3 hittestobject가 작동하지 않음, 이유를 이해하지 못함

분류에서Dev

내 코드의 fprintf () 함수가 제대로 작동하지 않는 이유는 무엇입니까?

분류에서Dev

템플릿 인수 유형 추론이 함수 객체 내에서 작동하지 않습니다.

분류에서Dev

코르도바 이벤트가 작동하지 않음, 내가 뭘 잘못하고 있니?

분류에서Dev

별과 문자를 삭제하고 따라 가고 싶은데 왜 내 코드가 작동하지 않는지

분류에서Dev

나는 jquery를 처음 사용하고 snap.svg를 배우고 있으며이 코드가 어떻게 작동하는지 알지 못합니까? 누군가 함수가 값을 얻는 방법을 설명해 주시겠습니까?

분류에서Dev

데비안 8이 내 USB를 자동 인식하지 못하고 lsusb가 작동하지 않나요?

분류에서Dev

누군가 내 코드로 나를 도와 주지만, 왜 작동하지 않는지 알 수 없음-JAVA GUI

Related 관련 기사

  1. 1

    이 코드가 작동하지 않는 이유를 모르겠습니다! 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?

  2. 2

    이 HTML 코드를 Javascript 함수 및 유효성 검사로 작성했지만 유효성 검사가 작동하지 않습니다. 내가 뭘 잘못하고 있는지

  3. 3

    `treemap.nodes`가 내 객체에 대한 업데이트를 보지 못하는 이유는 무엇입니까?

  4. 4

    숫자 합계 코드가 작동하지 않는 이유를 이해하지 못함

  5. 5

    VB.net에서 유클리드의 알고리즘을 작성하고 있지만 어떤 이유로 작동하지 않으며 내 논리가 옳다고 확신합니다. 내가 어디로 잘못 가고 있니?

  6. 6

    CodeSignal에서 코드가 잘못 작동합니다. 내 코드 결함인지 확실하지 않음

  7. 7

    이 코드를 작동시킬 수 없습니다. 누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? subl은 18 행에 오류가 있다고 말하지만 실제로는 알아낼 수 없습니다.

  8. 8

    내 pyautogui 코드가 잘 작동하지 않는 이유

  9. 9

    내 각도 js 코드가 작동하지 않는 이유

  10. 10

    내 코드에서 업데이트 쿼리가 작동하지 않습니다.

  11. 11

    누군가 내가 작성한이 Python 코드를 스캔하여 내가 뭘 잘못했는지 알려줄 수 있습니까?

  12. 12

    Flow가 문자열 판별자를 사용하여 내 작업 유형별로 구체화하지 못하는 이유는 무엇입니까?

  13. 13

    작업 대 오래된 프로젝트 및 내가 이해하지 못하는 코드 찾기

  14. 14

    내 코드에서 ""을 (를) 사용하는 이유를 이해하지 못하지만 ''와 동일한 코드는 작동하지 않습니다.

  15. 15

    이 코드가 작동하지 않는 이유는 무엇입니까? 나는 이것을 알아 내려고 오랜 시간을 보냈다.

  16. 16

    Flowtype이 객체 내부의 속성 유형을 감지하지 못함

  17. 17

    특정 케이스에서 내 코드가 작동하지 않는 이유를 알 수 없음 (Letcode에서 코인 변경)

  18. 18

    내 Scrollspy가 작동하지 않는 이유를 알 수 있습니까?

  19. 19

    내 clearfix가 작동하지 않는 이유를 알 수 없습니다.

  20. 20

    상수가 아닌 객체에 대한 const_iterator에서 알고리즘이 작동하지 않습니다.

  21. 21

    Grunt Watch 작업이 ES6 코드를 변환하지 못함

  22. 22

    as3 hittestobject가 작동하지 않음, 이유를 이해하지 못함

  23. 23

    내 코드의 fprintf () 함수가 제대로 작동하지 않는 이유는 무엇입니까?

  24. 24

    템플릿 인수 유형 추론이 함수 객체 내에서 작동하지 않습니다.

  25. 25

    코르도바 이벤트가 작동하지 않음, 내가 뭘 잘못하고 있니?

  26. 26

    별과 문자를 삭제하고 따라 가고 싶은데 왜 내 코드가 작동하지 않는지

  27. 27

    나는 jquery를 처음 사용하고 snap.svg를 배우고 있으며이 코드가 어떻게 작동하는지 알지 못합니까? 누군가 함수가 값을 얻는 방법을 설명해 주시겠습니까?

  28. 28

    데비안 8이 내 USB를 자동 인식하지 못하고 lsusb가 작동하지 않나요?

  29. 29

    누군가 내 코드로 나를 도와 주지만, 왜 작동하지 않는지 알 수 없음-JAVA GUI

뜨겁다태그

보관