홈>
typescript 코드에는 객체가있는 배열이 있습니다. "getUsers (users)"함수를 호출하면 필요에 따라 결과가 반환되지만 콘솔에서이 오류가 발생합니다. "Uncaught TypeError : 정의되지 않은 'firstName'속성을 읽을 수 없습니다 getUsers (index.js : 20)에서 index.js : 23 "
에서
let users = [
{
firstName: "John",
lastName: "Doe",
age: 34
},
{
firstName: "Jack",
lastName: "Jackson",
age: 23
},
{
firstName: "Ann",
lastName: "Watson",
age: 24
}
];
function getUsers(users) {
for (var i = 0; i <= users.length; i++) {
console.log(users[i].firstName + " is " + users[i].age + " years old!");
}
}
getUsers(users);
-
답변 # 1
-
답변 # 2
for 루프가 사용 가능한 배열 항목을 초과합니다. 가장 가까운 ID는
users.length - 1
입니다 .가장 쉬운 방법은 등호를 제거하는 것입니다.
또한
forEach
에서 buildt 사용을 생각하십시오 또는map
다음과 같은 기능 :function getUsers( users ) { users.forEach( u => { console.log( `${ u.firstName } is ${ u.age } years old!` ); } ); }
-
답변 # 3
길이보다 작거나 같아야합니다
for (var i = 0; i < users.length; i++) { console.log(users[i].firstName + " is " + users[i].age + " years old!"); }
-
답변 # 4
for-of 루프를 사용할 수 있습니다
let users = [ { firstName: "John", lastName: "Doe", age: 34 }, { firstName: "Jack", lastName: "Jackson", age: 23 }, { firstName: "Ann", lastName: "Watson", age: 24 } ]; function getUsers(users) { for (var user of users) { console.log(user.firstName + " is " + user.age + " years old!"); } } getUsers(users);
관련 자료
- javascript - 한 개체의 배열에 다른 배열과 일치하는 항목이 하나 이상있는 개체의 배열 필터링
- javascript - Vue는 루프 길이에 따라 객체 배열을 생성합니다
- javascript - 두 개의 속성을 사용하여 개체 배열을 정렬하지만 조건에 따라 정렬 순서로 조건부로 그룹화하는 방법은 무엇입니까?
- javascript - 개체 배열에서 개체 선택
- javascript - 품질/길이로 그룹화 된 동일한 값을 가진 객체의 새 배열을 반환합니다
- javascript - 고유 한 코드로 개체 배열을 그룹화하려면 어떻게해야합니까?
- javascript - 객체 객체를 기반으로 객체 배열 생성
- html - Array Javascript의 일부 객체에서 임의의 항목 가져 오기
- javascript - 모든 객체가 완료 될 때까지 기다린 다음 배열로 푸시하도록 약속하는 방법은 무엇입니까?
- javascript - 한 번에 날짜 및 시간별로 객체 배열을 정렬하는 방법
- javascript - 객체 배열에서 누락 된 값을 확인하고 특수 문자로 누락 된 값을 추가하는 방법
- drupal - 속성 중 하나가 배열 인 경우 loadByProperties를 사용하는 방법은 무엇입니까?
- javascript - 조건에 따라 개체 배열에 를 추가 할 수 없습니다
- 객체 목록을 반환하는 Java Stream of Integer 배열
- javascript - 객체로 다차원 배열 필터링
- javascript - Map 메소드는 React에서 오류를 일으키는 객체 배열을 계속 반환합니다
- javascript - 키/값이 유사한 배열의 객체를 해당 배열 내의 배열로 바꾸는 방법
- javascript - 객체 배열에서 처음 반복되는 객체를 얻는 방법은 무엇입니까?
- nuxtjs - Vuejs의 배열에 배치 된 객체 배열에 액세스하려면 어떻게해야합니까?
- reactjs - 자바 스크립트에서 객체 배열을 매핑 할 수 없습니다
관련 질문
- javascript - 체인의 일부로 매개 변수 사용
- javascript - Angular의 다른 구성 요소에서 모달 대화 상자를 호출하는 적절한 방법은 무엇입니까?
- javascript - Angular 앱에서 CKEditor5 사용자 지정 빌드 사용
- javascript - 주어진 시간 슬롯에 현재 시간이 있는지 확인하고 주어진 날짜 배열 사이에 날짜가 있는지 찾는 방법
- javascript - 오류에 대한 전체 스택 추적을 인쇄하도록 mocha를 어떻게 구성합니까?
- javascript - 이 유효성 검사기에서 "정의되지 않은 'http'속성을 읽을 수 없음"이 나타나는 이유는 무엇입니까?
- javascript - Webpack은 ES5에서 화살표 기능을 생성합니다
- javascript - '사용자'속성이 'Session&Partial '유형에 없습니다
- javascript - 여러 유형 및 유형이 지정된 배열로 Vuejs 소품 유효성 검사
- javascript - 정의되지 않은 Angular/TypeScript의 'forEach'속성을 읽을 수 없습니다
문제는
i <= users.length
입니다i < users.length
여야합니다. .i++
i의 값을 1 씩 증가 시키지만 길이는 3이고 인덱스는 0부터 시작하므로 요소는 두 번째 인덱스까지 차지하므로i <= users.length
실제로 정의되지 않은 세 번째 색인의 요소에 액세스하려고 시도합니다