[javascript] 배열에서 처음 N 개의 요소를 얻는 방법

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} />);
    });

지도에 설정된 기능이 없으므로 작동하지 않았습니다.

도와주세요?



답변

나는 당신이 찾고있는 것이 믿습니다.

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


답변

지도 기능을 사용하여 시도하지 마십시오. 맵 기능을 사용하여 한 값에서 다른 값으로 값을 맵핑해야합니다. 입력 및 출력 수가 일치하는 경우

이 경우 어레이에서도 사용 가능한 필터 기능을 사용하십시오. 필터 기능은 특정 기준에 맞는 값을 선택적으로 가져 오려는 경우에 사용됩니다. 그런 다음 코드를 작성할 수 있습니다

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


답변

index배열을 사용하여 필터링 할 수 있습니다 .

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


답변

다음은 나를 위해 일했습니다.

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 ();