我正在使用Javascript(ES6) /FaceBook反应,并试图获得大小不同的数组的前3个元素。我想做Linq take(n)的等效。
在我的Jsx文件中我有以下内容:
var items = list.map(i => {
return (
<myview item={i} key={i.id} />
);
});
然后得到我尝试的前3个项目
var map = new Map(list);
map.size = 3;
var items = map(i => {
return (<SpotlightLandingGlobalInboxItem item={i} key={i.id} />);
});
这并没有起作用,因为map没有一个set函数。
你能帮帮我吗?
使用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);
// => []
举个简单的例子:
var letters = ["a", "b", "c", "d"];
var letters_02 = letters.slice(0, 2);
console.log(letters_02)
输出:["a", "b"]
var letters_12 = letters.slice(1, 2);
console.log(letters_12)
输出:[b]
注意:slice只提供一个浅拷贝,不修改原始数组。
试着从列表中获取前n个元素:
const slicedList = list.slice(0, n);
例子:
Const list = [1,2,3,4,5]
console.log(列表。slice(0,3)) //返回[1,2,3]
console.log(列表。slice(0, 10)) //返回[1,2,3,4,5],因为这是前10个元素中所有的元素