Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DataGridView 직접 입력
- pm2 상태 확인
- allow_anonymouse
- AntDesign
- mosquitto
- mySQL_Replication
- 서버동기화
- html #select #option #multiple
- invalid data
- pm2 시작
- setInterval 외부 정지
- 1883
- DatePicker
- setInterval 정지
- c# datagridview 데이터 넣기
- 맥 어드레스
- datagridview 직접입력
- setInterval clear
- timepicker
- pm2 확인
- map이 undefined가 뜰 때
- 데이터테이블 데이터 넣기
- mosquitto.conf
- 공인IP
- pm2
- setInterval 중지
- listener 1883
- transfer
- pm2 설치
- Replication
Archives
- Today
- Total
개발 노트
"TypeError: rawData.some is not a function" 오류 메시지 본문
이 오류를 수정하려면 rawData가 실제로 배열이고 some 메서드가 정의되어 있는지 확인해야 합니다. 이 오류의 가능한 원인은 다음과 같습니다.
- rawData는 실제로 배열이 아닙니다. rawData가 배열로 초기화되고 코드의 다른 곳에서 덮어쓰거나 수정되지 않는지 확인하십시오.
- rawData는 빈 배열입니다. rawData가 빈 배열인 경우 some 메서드는 배열에 하나 이상의 요소가 필요하므로 작동하지 않습니다. some 메서드를 호출하기 전에 배열이 비어 있는지 확인하는 검사를 추가할 수 있습니다.
- 배열 프로토타입에 some 메서드가 정의되어 있지 않음: 사용 중인 배열의 프로토타입에 some 메서드가 정의되어 있는지 확인하십시오. 이전 버전의 JavaScript로 작업하는 경우 some 메서드를 사용할 수 있도록 polyfill을 추가해야 할 수 있습니다.
rawData가 some 메서드가 정의된 배열인지 확인하면 "TypeError: rawData.some is not a function" 오류를 수정할 수 있습니다.
sql = '/feeder/movedataAniSeq/' + aniSeq + ',' + sdate + ',' + edate;
await request
.get(sql)
.then((res) => {
let i = 0;
let vdata = [];
let vdataIO = [];
let data = res. data;
let sum = 0;
let aniFeed = 0;
let dt;
let prevValue = 0;
let prevValueIo = 0;
for (i; i < 24; i++) {
console.log('data', data);
dt = data. filter(
(item) => item.moveInTimeReal.substr(0, 2) === ('00' + i).slice(-2)
);
console. log('dt', dt);
if (dt. length > 0) {
aniFeed =
Number(dt[0].aniFeed1) +
Number(dt[0].aniFeed2) +
Number(dt[0].aniFeed3) +
Number(dt[0].aniFeed4) / 1000 +
Number(dt[0].aniFeed5) / 1000;
} else {
aniFeed = 0;
}
sum = sum + aniFeed;
let currentValue = sum;
vdata. push({
time: ('00' + i). slice(-2),
value: 0;
date: new Date().setHours(i),
aniFeed: aniFeed,
aniFeedSet: dt. length > 0 ? dt[0].aniFeedSet : 0,
disabled: isBulletLabelDisabled(prevValue, currentValue),
});
prevValue = currentValue;
if (dt. length > 0) {
aniFeed = 1;
} else {
aniFeed = 0;
}
let currentValueIo = aniFeed;
vdataIO.push({
time: ('00' + i). slice(-2),
value: 0;
date: new Date().setHours(i),
aniFeed: aniFeed,
disabled: true;
});
prevValueIo = currentValueIo;
aniFeed = 0;
}
setFeedMove24(vdata);
setFeedMove24IO(vdataIO);
setFeedMove(data);
setIsLoaded1(true);
})
.catch((error) => {
console. log(error);
setIsLoaded1(true);
});
};
await request.get(sql).then((res) => {
let i = 0;
let vdata = [];
let vdataIO = [];
let data = res.data;
if (Array.isArray(data)) { // add a check to make sure data is an array
let sum = 0;
let aniFeed = 0;
let dt;
let prevValue = 0;
let prevValueIo = 0;
for (i; i < 24; i++) {
console.log('data', data);
dt = data.filter(
(item) => item.moveInTimeReal.substr(0, 2) === ('00' + i).slice(-2)
);
// rest of the code ...
}
}
setFeedMove(data);
setIsLoaded1(true);
}).catch((error) => {
console.log(error);
setIsLoaded1(true);
});
제공된 코드에 따르면 "TypeError: rawData.some is not a function" 오류 메시지는 SubFeedTable 구성요소로 전달되는 feedMove 데이터와 관련이 없는 것으로 보입니다.
대신 오류는 getData_FeedMove_ILData_Chacku 함수 내에서 사용 중인 data 변수와 관련이 있을 수 있습니다. 특히 'data' 변수는 배열이 아니거나 'some' 메서드가 정의되어 있지 않을 수 있습니다. 이로 인해 나중에 코드에서 'filter' 메서드가 호출될 때 오류가 발생할 수 있습니다.
이 오류를 수정하려면 필터링을 시도하기 전에 data 변수가 실제로 배열인지 확인하는 검사를 추가할 수 있습니다. 한 가지 가능한 해결책은 Array.isArray 메서드를 사용하여 data가 배열인지 확인하고 배열인 경우에만 필터링하는 것입니다.
Array.isArray 검사를 추가하여 filter 메서드가 실제 배열에서만 호출되도록 하고 "TypeError: rawData.some is not a function" 오류를 방지할 수 있습니다.
'React' 카테고리의 다른 글
useEffect에서 setInterval 사용할시 주의점 (0) | 2023.04.20 |
---|---|
React에서 object를 setter함수로 다룰 때 (0) | 2023.04.05 |
하위컴포넌트에서 상위컴포넌트로 state 보내는 법 (0) | 2023.03.03 |
setInterval 외부에서 정지 시킬 때 (0) | 2023.02.27 |
antdesign - datePicker,timePicker invalid data (0) | 2023.02.16 |