我有一个数组,其中,我只需要显示数据的第一个索引。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-0, 0); (start index, end index)
但是,无法获得第一个索引,有什么建议吗?
在 flatlist 中,我必须从某个类中的第二个索引呈现数据。
Here is my code
render() {
// const { profiledata } = this.props.profiledata;
console.log('profiledata is', profiledata);
return (
<View >
<FlatList
style={styles}
showsVerticalScrollIndicator
data={profiledata}
extraData={this.props}
renderItem={({ item }) => (
//code here for UI
)
}
}
))
如何从第二个索引在平面列表中开始循环,而不是从切片中获取单独的数组?
有什么建议吗?
你没有给切片正确的参数。
var myBest = fruits.slice(0, 1); (start index, end index)
返回元素时不包括end index
。-0
也没有任何意义
结束索引
Optional.
结束提取的从零开始的索引。此索引中的字符将不包括在内。如果 endIndex 被省略,slice(( 提取到字符串的末尾。如果 负数,它被视为 strLength + endIndex,其中 strLength 是 字符串的长度(例如,如果 endIndex 为 -3,则视为 长度 - 3(。
如果要修改数组以删除第一个元素,可以使用splice
或shift
方法
如果要从 flatList 中的第二个位置开始呈现元素,可以利用索引属性
<FlatList
style={styles}
showsVerticalScrollIndicator
data={profiledata}
extraData={this.props}
renderItem={({ item, index }) => {
//code here for UI
if (index > 0) {
// code for UI
}
return null;
}}
/>
您正在寻找的功能是shift
此函数将允许您取出数组的第一项,并在组件中使用其余项。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
console.log('First : ', fruits.shift())
console.log('Others : ', fruits)
你也可以使用ES6 rest
运算符来获取一个没有第一个元素的数组。
const array = ['one', 'two', 'three'];
const [first, ...arrayWithoutFristElement] = array;
console.log('first element', first);
console.log('array without first element', arrayWithoutFristElement);
在此处了解休息/传播运算符。