mr9418
(Dev_bin)
11월 2, 2021, 3:01오후
1
안녕하세요 리액트네이티브 왕초보입다ㅜㅠ
다름이 아니라 fetch api로 데이터를 받앗는데 json array 형식으로 오잖아요
근데 제가 원하는 data가 잇는데
예를들어서 name:상품명2 뽑아서 꾸며주고 싶은데 이 객체만 가져오는 방법이 잇을까요?
도무지 어떻게 해야할지 감이 안잡힙니다ㅜㅠ 도와주십시오ㅠㅠ
현재 flatlist로 화면상으로만 뿌려주기 햇습니다
[
{
"productNo": 1,
"name": "상품명1",
"price": 100
},
{
"productNo": 2,
"name": "상품명2",
"price": 200
}
]
1개의 좋아요
열심히 for
문 돌려서 #name
만 추출하는 것도 방법일 수 있습니다.
const data = [
{
"productNo": 1,
"name": "상품명1",
"price": 100
},
{
"productNo": 2,
"name": "상품명2",
"price": 200
}
]
const dataSize = data.length();
const formattedData = new Array(dataSize);
for (let i = 0; i < dataSize; i++) {
formattedData[i] = data[i].name;
// 또는
// formattedData[i] = data[i]["name"];
}
이게 제일 접근성이 쉬운 방법이지만, for
문이라는 친구가 비중 있게 보이니 가독성이 떨어질 수 있습니다.
그럴 땐 Array.prototype.map
을 알아보시면 좋겠습니다.
그럼 동일한 코드를 Array.prototype.map
으로 바꾸면
const data = [
{
"productNo": 1,
"name": "상품명1",
"price": 100
},
{
"productNo": 2,
"name": "상품명2",
"price": 200
}
]
const formattedData = data.map(d => d.name);
// 또는
// const formattedData = data.map(d => d["name"]);
이렇게 될 겁니다.
이밖에 Array.prototype.filter
이나, Array.prototype.foreach
, Array.prototype.reduce
같은 메소드도 알아보시면 꽤 유용하게 쓰리라 생각됩니다.
1개의 좋아요
mr9418
(Dev_bin)
11월 3, 2021, 5:13오전
3
와 감사합니다 구글링도 해보고 예시를 봣는데도 이 코드를 어떻게 써야하나 이해가 안됫는데 조금은 알것같습니다 자바스크립트를 잘 모르니 이게 쉽지가 않네요 해보겟습니다 감사합니당ㅠㅠㅠ
Curl
(Curl)
11월 5, 2021, 2:43오후
4
Array.prototype.filter 를 쓰면 될 거 같습니다.
theArray.filter(obj => obj.name === “상품명2”)