所以这里有一个像这样的数组
[{"facebook":"https://facebook.com"}, {"instagram":"https://instagram.com"}]
现在我想将密钥显示为图标名称,将值显示为href链接。
socials.map((social, index) => {
return(
<View key={index}>
<Icon name={social.facebook} onPress={() => {}} />
</View>
);
})
如何在不选择特定键名的情况下将键指定给图标名称? 谢谢。
答案 0 :(得分:1)
您可以将Object.keys与map
method.Object.keys一起使用,返回它自己的属性数组。因此Object.keys(item)[0]
将为每个对象提供密钥。
var social = [{
"facebook": "https://facebook.com"
}, {
"instagram": "https://instagram.com"
}]
var x = social.map(function(item) {
return Object.keys(item)[0]
})
console.log(x)
&#13;
答案 1 :(得分:1)
如果socials
是您的初始数据数组,那么我会执行以下操作:
socials.map((social, index) =>
(
<View key={index}>
<Icon name={Object.keys(social)[0]} onPress={() => {}} />
</View>
)
)
答案 2 :(得分:1)
使用Object.keys()
-
let data = [{"facebook":"https://facebook.com"}, {"instagram":"https://instagram.com"}]
data.forEach(social => console.log(Object.keys(social)[0]));
在这里,我使用.forEach()
而不是.map()
来记录密钥的名称,但这个想法与.map()
相同。