我试图弄清楚如何从我创建的对象中获取我需要的数据。
我以前将我的应用程序数据存储在 2 个数组中,如下所示:
const AVATARS = {
avatar1: require('./images/avatar_1.jpg'),
avatar2: require('./images/avatar_2.jpg')
}
export const STATS = {
stats1: "\nHP: 124\n" +
"INT: 23\n" +
"CHR: 13\n",
stats2: "\nHP: 423\n" +
"INT: 24\n" +
"CHR: 11\n"
}
要填充应用程序页面,我将使用这两个函数来获取数据:
import { AVATARS } from './arrays'
import { STATS } from './arrays'
//returns data based on array position(num)
export function getAvatar(num) {
return AVATARS['avatar' + num];
}
export function getStats(num) {
return STATS['stats' + num];
}
我最近决定切换到一个存储所有数据的对象,如下所示:
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')
},
{
id: 2,
Name: "Jake",
HitPointValue: "141",
StrengthValue: "21",
IntelligenceValue: "6",
WisdomValue: "5",
DexterityValue: "8",
ConstitutionValue: "20",
CharismaValue: "10",
Avatar: require('./images/avatar_2.jpg')
}
]
但是现在我这样做了,我不知道如何获得所需的数据。显然我的旧功能不起作用。有没有办法为给定页面选择我需要的数据?
例如,如果我只需要一个页面的名称和头像,但我可能需要另一个页面的统计信息。
谢谢!
您可以修改您的功能以接受 id 之类的
import {characters} from './arrays';
//returns data based on array position(id)
export function getAvatar(id) {
var idx = characters.findIndex((val) => val.id == id);
return characters[idx].Avatar;
}
export function getName(id) {
var idx = characters.findIndex((val) => val.id == id);
return characters[idx].Name;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句