programing

수집되지 않은 유형 오류: 데이터.푸시는 기능이 아닙니다.

testmans 2023. 4. 5. 21:24
반응형

수집되지 않은 유형 오류: 데이터.푸시는 기능이 아닙니다.

밀려고 합니다.

data.push({"country": "IN"});

json 문자열에 대한 새 ID 및 값으로 지정되지만 다음 오류가 발생합니다.

Uncaught TypeError: data.push is not a function

data{"name":"ananta","age":"15"}

빠른 답변 감사합니다.

어레이의 푸시 기능을 사용하려면 var가 어레이여야 합니다.

바꾸다data{"name":"ananta","age":"15"}다음에 대해서:

var data = [
    { 
        "name": "ananta",
        "age": "15",
        "country": "Atlanta"
    }
];

data.push({"name": "Tony Montana", "age": "99"});

data.push({"country": "IN"});

..

포함된 어레이 항목은 개체 유형이 되며 다음을 수행할 수 있습니다.

var text = "You are " + data[0]->age + " old and come from " + data[0]->country;

주의: 일관성을 유지하도록 노력하십시오.이 예에서는 하나의 배열에 객체 속성이 포함되어 있습니다.name그리고.age한편 다른 한쪽에는country이렇게 반복하면for또는forEach예제에 변경되는 항목이 포함되어 있기 때문에 하나의 속성을 항상 확인할 수 없습니다.

다음과 같이 최적입니다.data.push({ "name": "Max", "age": "5", "country": "Anywhere" } );

따라서 빈 속성, 늘 속성 또는 정의되지 않은 속성도 반복하여 가져올 수 있습니다.

편집하다

유용한 정보:

var array = new Array();

는 다음과 같습니다.

var array = [];

기타:

var object = new Object();

는 다음과 같습니다.

var object = {};

또한 다음과 같이 조합할 수 있습니다.

var objectArray = [{}, {}, {}];

당신의.data변수는 배열이 아닌 개체를 포함하지만 개체에는 다음 항목이 없습니다.push에러 상태 그대로 기능합니다.필요한 작업을 수행하려면 다음과 같이 하십시오.

data.country = 'IN';

또는

data['country'] = 'IN';

또한 변수 이름이 언어 키워드의 종류가 아님을 확인하십시오.예를 들어, 다음과 같은 유형의 오류가 발생합니다.

var history = [];
history.push("what a mess");

대체 목적:

var history123 = [];
history123.push("pray for a better language");

정상적으로 동작합니다.

개체가 배열인 경우에만 푸시 방법을 사용할 수 있습니다.

var data = new Array();
data.push({"country": "IN"}).

또는

data['country'] = "IN"

사용할 수 있는 물건이라면

data.country = "IN";

로 설정하신 것 같습니다.

var data = []; 

하지만 시간이 좀 흐른 후, 당신은 이렇게 만들었어요.

data = 'some thing which is not an array'; 

그리고나서data.push('')는 어레이가 아니기 때문에 동작하지 않습니다.

푸시 작업만 기억해야 할 한 가지 사항array[]것은 아니다.object{}.

개체를 추가할 경우o안쪽에서n다음과 같이 합니다.

a = {
   b:"c",
   D:"e",
   F: {
      g:"h",
      I:"j",
      k: {
         l:"m"
      }
   }
}

a.F.k.n = { o: "p" };
console.log(a);

이 코드 $scope를 사용해 보십시오.DSRListGrid.data = 데이터(소스 데이터용)

            for (var prop in data[0]) {
                if (data[0].hasOwnProperty(prop)) {
                    $scope.ListColumns.push(
                            {
                                "name": prop,
                                "field": prop,
                                "width": 150,
                                "headerCellClass": 'font-12'
                            }
                    );
                }
            }
            console.log($scope.ListColumns);

어레이에만 푸시하여 Uncaughed TypeError: data와 같은 오류인지 확인하십시오.push는 함수가 아닙니다**. console.log(data)에서 실행할 수 있는 데이터 유형확인합니다.

dataArray = [{'id':1', 'code':']을(를) 둡니다.ABC',{'id':1','code':'ABC', {'id':2, 'code':'ABC'}]

    let obj = {};
  dataArray.forEach(task => {        
    task.id in obj ? obj[task.employee_id].push(task):
    obj = {
      ...obj,
      [task.employee_id]: [task],
    }
  });

언급URL : https://stackoverflow.com/questions/29696572/uncaught-typeerror-data-push-is-not-a-function

반응형