如何从数组中获取前N个元素

2020/09/27 11:21 · javascript ·  · 0评论

我正在使用Javascript(ES6)/ FaceBook做出反应,并尝试获取大小变化的数组的前3个元素。我想做相当于Linq take(n)。

在我的Jsx文件中,我有以下内容:

var items = list.map(i => {
  return (
    <myview item={i} key={i.id} />
  );
});

然后得到我尝试的前三个项目

  var map = new Map(list);
    map.size = 3;
    var items = map(i => {
      return (<SpotlightLandingGlobalInboxItem item={i} key={i.id} />);
    });

这不起作用,因为地图没有设置功能。

你能帮忙吗?

我相信您正在寻找的是:

// ...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>   
)

要获取n数组的第一个元素,请使用

array.slice(0, n);

这可能令人惊讶,但是length数组的属性不仅用于获取数组元素的数量,而且还是可写的,并且可以用于设置数组的MDN链接长度这将使数组变异。

如果不再需要当前数组,并且您不关心不变性或不想分配内存,那么对于游戏来说,最快的方法是

arr.length = n

清空数组

arr.length = 0

您可以使用index数组过滤

var months = ['Jan', 'March', 'April', 'June'];
months = months.filter((month,idx) => idx < 2)
console.log(months);

请勿尝试使用地图功能执行此操作。映射函数应用于将值从一件事映射到另一件事。当输入输出数量匹配时。

在这种情况下,请使用阵列上也可用的过滤器功能。当您要选择取某些标准的值时,可以使用过滤器功能。然后,您可以像这样编写代码

var items = list
             .filter((i, index) => (index < 3))
             .map((i, index) => {
                   return (
                     <myview item={i} key={i.id} />
                   );
              });

以下为我工作。

array.slice( where_to_start_deleting, array.length )

这是一个例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.slice(2, fruits.length);
//Banana,Orange  ->These first two we get as resultant

使用https://github.com/Siderite/LInQer您可以执行Enumerable.from(list).take(3).toArray();

本文地址:http://javascript.askforanswer.com/ruhecongshuzuzhonghuoquqianngeyuansu.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!