use*_*912 297 javascript reactjs
我正在使用Javascript(ES6)/ FaceBook做出反应并尝试获取大小不同的数组的前3个元素.我想做相当于Linq take(n).
在我的Jsx文件中,我有以下内容:
var items = list.map(i => {
return (
<myview item={i} key={i.id} />
);
});
Run Code Online (Sandbox Code Playgroud)
然后获得我尝试的前3项
var map = new Map(list);
map.size = 3;
var items = map(i => {
return (<SpotlightLandingGlobalInboxItem item={i} key={i.id} />);
});
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为地图没有设定功能.
你能帮忙吗?
Ori*_*iol 475
要获取n数组的第一个元素,请使用
array.slice(0, n);
Run Code Online (Sandbox Code Playgroud)
小智 319
我相信你要找的是:
// ...inside the render() function
var size = 3;
var items = list.slice(0, size).map(i => {
return <myview item={i} key={i.id} />
}
return (
<div>
{items}
</div>
)
Run Code Online (Sandbox Code Playgroud)
小智 51
使用切片方法
javascriptslice()方法将数组的一部分返回到从头到尾选择的新数组对象中,其中 start 和 end 表示该数组中项目的索引。原始数组不会被修改。
句法 :slice(start, end)
假设我们有一个包含 7 个项目的数组[5,10,15,20,25,30,35],我们想要该数组中的前 5 个元素:
let array = [5,10,15,20,25,30,35]
let newArray = array.slice(0,5)
console.log(newArray)
Run Code Online (Sandbox Code Playgroud)
Paw*_*wel 21
这可能是令人惊讶的,但length数组的属性不仅用于获取数组元素的数量,而且它也是可写的,并且可用于设置数组的长度MDN链接.这会改变数组.
如果不再需要当前阵列,你不关心不变性或者不想分配内存,即对于游戏来说最快的方法是
arr.length = n
Run Code Online (Sandbox Code Playgroud)
清空一个数组
arr.length = 0
Run Code Online (Sandbox Code Playgroud)
Anu*_*pta 15
只需尝试从列表中获取第一个n元素:
const slicedList = list.slice(0, n);
Run Code Online (Sandbox Code Playgroud)
例子:
const slicedList = list.slice(0, n);
Run Code Online (Sandbox Code Playgroud)
san*_*eep 11
不要尝试使用地图功能.应使用Map函数将值从一个事物映射到另一个事物.当输入和输出的数量匹配时.
在这种情况下,使用过滤器功能,该功能也可在阵列上使用.当您想要选择性地获取加工某些标准的值时,使用过滤器功能.然后你可以编写你的代码
var items = list
.filter((i, index) => (index < 3))
.map((i, index) => {
return (
<myview item={i} key={i.id} />
);
});
Run Code Online (Sandbox Code Playgroud)
您可以使用index数组过滤。
var months = ['Jan', 'March', 'April', 'June'];
months = months.filter((month,idx) => idx < 2)
console.log(months);Run Code Online (Sandbox Code Playgroud)
使用一个简单的例子:
var letters = ["a", "b", "c", "d"];
var letters_02 = letters.slice(0, 2);
console.log(letters_02)
Run Code Online (Sandbox Code Playgroud)
输出:["a", "b"]
var letters_12 = letters.slice(1, 2);
console.log(letters_12)
Run Code Online (Sandbox Code Playgroud)
输出:["b"]
注意:slice仅提供浅拷贝,不修改原始数组。
随着lodash,take功能,您可以通过以下实现:
_.take([1, 2, 3]);
// => [1]
_.take([1, 2, 3], 2);
// => [1, 2]
_.take([1, 2, 3], 5);
// => [1, 2, 3]
_.take([1, 2, 3], 0);
// => []
Run Code Online (Sandbox Code Playgroud)
小智 5
以下对我有用。
array.slice( where_to_start_deleting, array.length )
Run Code Online (Sandbox Code Playgroud)
这是一个例子
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.slice(2, fruits.length);
//Banana,Orange ->These first two we get as resultant
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
241397 次 |
| 最近记录: |