source

배열에서 처음 N개의 요소를 가져오는 방법

manysource 2022. 12. 13. 20:10

배열에서 처음 N개의 요소를 가져오는 방법

저는 Javascript(ES6)/Facebook react로 작업하고 있으며 크기가 다른 배열의 처음 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} />);
    });

지도에는 설정 기능이 없기 때문에 이것은 동작하지 않았습니다.

도와주실 수 있나요?

첫 번째를 얻으려면n배열 요소, 사용

const slicedArray = array.slice(0, n);

당신이 찾고 있는 건

// ...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>   
)
arr.length = n

의외일 수도 있지만length어레이의 속성은 어레이 요소의 수를 가져오는 데 사용될 뿐만 아니라 쓰기 가능하며 어레이의 길이 MDN 링크를 설정하는 데도 사용할 수 있습니다.어레이가 변환됩니다.

불변성이나 메모리 할당을 원하지 않는 게임이라면 이것이 가장 빠른 방법입니다.

배열을 비우다

arr.length = 0

다음 방법으로 필터링할 수 있습니다.index어레이의

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

슬라이스 메서드 사용

자바스크립트slice()method는 배열의 일부를 처음부터 끝까지 선택한 새 배열 개체로 반환합니다. 여기서 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)

지도 기능을 사용하여 이 작업을 수행하지 마십시오.맵 함수를 사용하여 값을 다른 값으로 매핑해야 합니다.입력과 출력의 수가 일치하는 경우.

이 경우 어레이에서도 사용할 수 있는 필터 기능을 사용합니다.필터 기능은 특정 기준에 따라 선택적으로 값을 취할 때 사용됩니다.그러면 코드를 다음과 같이 쓸 수 있습니다.

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

일단 이거 먹어봐n목록에서 요소:

const slicedList = list.slice(0, n);

예:

const list = [1,2,3,4,5]
console.log(list.slice(0, 3)) // Should return [1,2,3] 
console.log(list.slice(0, 10)) // Returns [1,2,3,4,5] since this is all we have in 1st 10 elements

간단한 예를 들어 다음과 같습니다.

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는 얕은 복사만 제공하며 원래 어레이는 수정하지 않습니다.

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);
// => []

slice() 메서드는 어레이 부분의 얕은 복사본을 처음부터 끝까지 선택한 새 어레이 개체로 반환합니다(끝은 포함되지 않음). 여기서 start와 end는 해당 어레이 내의 항목의 인덱스를 나타냅니다.원래 배열은 변경되지 않습니다.

const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]

console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

console.log(animals.slice(-2));
// expected output: Array ["duck", "elephant"]

console.log(animals.slice(2, -1));
// expected output: Array ["camel", "duck"]

더 잘 알고 있다

LInQer를 사용하면 다음 작업을 수행할 수 있습니다.

Enumerable.from(list).take(3).toArray();

놓쳤을지도 , 「 문」, 「열린 문」을 사용하는 해, 「열린 문」을 이다.splice()물론 어레이를 변경하는 것도 중요합니다.

const myArray = [
  'one', 'two', 'three', 'four', 'five', 'six', 'seven',
]

myArray.splice(3)

console.log(myArray)
// expected output: ['one', 'two', 'three']

또, 보관하고 있는 것 이외의 어레이의 요소를 취득할 수도 있습니다.

const myArray = [
  'one', 'two', 'three', 'four', 'five', 'six', 'seven',
]

const afterFirstThree = myArray.splice(3)

console.log(myArray)
// expected output: ['one', 'two', 'three']

console.log(afterFirstThree)
// expected output: ['four', 'five', 'six', 'seven']

// if n is larger than myArray.length the entire array is kept and if trying to grab the return, it will be an empty array

이 질문은 매우 오래되었지만 2021년부터는 ECMAScript(javascript)의 최신 기능으로 작성된 오브젝트에 대한 LINQ의 완전한 구현이 있습니다.

Github 저장소는 https://github.com/IlanAmoyal/WebPartyLinq 입니다.

언급URL : https://stackoverflow.com/questions/34883068/how-to-get-first-n-number-of-elements-from-an-array