개체에서 필요한 특성을 반환하는 함수를 만들려고합니다.
개체는 다음과 같습니다.
export var Characters = [
{
id: 1,
Name: "Abe",
HitPointValue: "124",
StrengthValue: "12",
IntelligenceValue: "14",
WisdomValue: "16",
DexterityValue: "12",
ConstitutionValue: "10",
CharismaValue: "17",
Avatar: require('./images/avatar_7.jpg')
}
]
나는 이것을 시도했다 :
export function getStat(id, stat) {
var idx = Characters.findIndex((val) => val.id == id);
return Characters[idx].stat;
}
예를 들어이 개체의 "WisdomValue"를 가져와야한다고 가정 해 보겠습니다.
그래서 다음과 같이 부릅니다.
<Text style={[styles.stats]}>
{"\n"}
Wisdom Value: {getStat(1, 'WisdomValue')}{"\n"}
</Text>
하지만 '정의되지 않은 것은 객체가 아닙니다'라는 오류가 발생합니다.
하나의 특정 속성 만 동적으로 얻을 수있는 방법은 무엇입니까? 따라서 getHitPointValue (id), get StrengthValue (id) 등과 같은 별도의 함수를 작성할 필요가 없습니다.
감사!
[]
동적 키로 값에 액세스하려고하므로 점 표기법을 사용하는 대신 사용하십시오 .
이 스 니펫을 확인하십시오.
var Characters = [
{
id: 1,
Name: "Abe",
HitPointValue: "124",
StrengthValue: "12",
IntelligenceValue: "14",
WisdomValue: "16",
DexterityValue: "12",
ConstitutionValue: "10",
CharismaValue: "17",
}
]
function getStat(id, stat) {
var idx = Characters.findIndex((val) => val.id == id);
if(idx >= 0)
return Characters[idx][stat];
else return "not found"
}
console.log(getStat(1, 'WisdomValue'));
console.log(getStat('15', 'abc'));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다