Map 함수로 실전적용!
366
작성한 질문수 83
final numbers = [123, 456, 789];
print(numbers.map((x) => x.toString().split('').map((y) => '$y.jpg',
).toList(),
),
([1.jpg, 2.jpg, 3.jpg], [4.jpg, 5.jpg, 6.jpg], [7.jpg, 8.jpg, 9.jpg])
print(numbers.map((x) => x.toString().split('').map((y) => '$y.jpg',
),
).toList(),
[(1.jpg, 2.jpg, 3.jpg), (4.jpg, 5.jpg, 6.jpg), (7.jpg, 8.jpg, 9.jpg)]
소괄호와 대괄호가 무슨차이죠.
처음에 첫번째 처럼하면 list될것같았는데요. 같은줄 알았는데 다르더라구요. 2번째는 그냥 해본거예요.
무슨차이인지 알고싶어요.
final number = 123;
print(number.toString().split(''));
print(number.toString().split('').map((x)=> '$x.jpg'));
[1, 2, 3]
(1.jpg, 2.jpg, 3.jpg)
위에는 대괄호, 밑에는 소괄호 괄호가 같는결과는 아니네요.
답변 1
0
안녕하세요!
(1,2,3)은 Iterable
[1,2,3]은 List 타입입니다.
Iterable은 Set, List 등의 콜렉션 타입이 상속받고 있는 타입입니다.
map 함수를 사용하면 List를 반환하는게 아니라 List가 상속하고 있는 Iterable 타입을 반환하게 됩니다.
하지만 children 파라미터에는 Iterable이 아닌 List 타입이 입력돼야하기 때문에 .toList() 함수를 실행해서 List로 변환해줘야합니다.
감사합니다!
0
final number = 123;
print(number.toString().split(''));
[1, 2, 3]
그런데 이건 왜 list값이 나왔죠.
Iterable 타입이 되어야 하는건 아니지요.
아니면 그냥 외워야 하는지요.?
0
split 함수의 정의가 그렇습니다. 외워두는게 아니라 제가 강의에서 알려드리는대로 정의로 가기를 눌러보시면 List 타입을 반환한다는걸 알 수 있습니다. 함수의 정의는 1+1 = 2처럼 특정 값이 꼭 나와야하는게 아닙니다. 만드는 사람 마음입니다. 그렇기 때문에 그냥 머리로 "이거겠지?" 라고 생각한다고 되는 부분이 아닙니다. 항상 정의를 보셔야합니다.
198강 (){onTap(e);}의 이해 돕기
0
39
1
video_call 플러그인 설치후 에러 발생
0
47
1
SDK 안드로이드 설치 질문!
0
62
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
71
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
56
1
플레이스토어
0
60
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
56
1
가이드라인 질문
0
59
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
78
1
emulator 실행 오류
0
95
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
73
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
43
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
54
1
video_call 플러그인 설치시 에러문제
0
66
1
children 안의 if 문에서 { } 못쓰는 이유?
0
51
1
이렇게 오류가 떠요
0
66
1
AppBar 사용했는데
0
63
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
58
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
65
1
Video Player 프로젝트에 대한 추가 질문
0
54
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
43
1
geolocator 오류때문에 개발진행이 불가능입니다
0
64
1
API 관련 이슈
0
89
2





