JavaScript-I의 Iterables 및 반복자

iterable는 우리가 교체할 수 있는 속성을 가진 대상이다.이것은 우리가 대상의 속성에 따라 반복되는 작업을 수행할 수 있다는 것을 의미한다. 예를 들어 그룹을 통해 순환하는 것이다.이것은 어색할 수도 있지만, 그룹의 속성을 검사하면 (console.log 사용) 그룹에 원형 속성이 있음을 발견할 수 있습니다.우리가 그룹 실례를 만들 때, 기본적으로 이것은 정의되지 않습니다.
const myArr = []
console.log(myArr.prototype) 
// undefined
우리는 속성을 가진 대상을 만들고 그룹의prototype 속성을 이 대상을 가리키는 것으로 설정해서 이를 이용할 수 있다.
만약 우리가 다음과 같은 방법을 사용한다면;반대, 반대하다keys(), 객체수조의 값과 우리가 얻은 결과가 너무 재미있어요.
const arr = ['foo', 'bar', 'john', 'doe']

console.log(Object.keys(arr))
// ["0", "1", "2", "3"]
console.log(Object.values(arr))
// ['foo', 'bar', 'john', 'doe']
이것은 수조가 여전히 대상임을 한층 더 증명했다.
우리가 수조에서 for of 순환을 사용할 수 있는 이유는 기호가 있기 때문이다.교체기 방법.

기호.교체기
이런 방법은 모든 이식 대상에게 통용되는데, 사실상 우리가 대상을 이식할 수 있도록 하려고 할 때, 그것이 바로 우리가 대상에 부가하는 방법이다.어레이로 돌아갑니다.수조는 항목을 특정 위치에 저장하는 데이터 구조로 이 위치는 이 항목의 인덱스입니다.
우리는 아래의 어떤 방법을 통해서도 하나의 그룹을 만들 수 있다

배열 문자
우리는 단지 하나의 그룹 문자를 만들 뿐입니다. 이것은 0 개 이상의 그룹을 포함하는 그룹입니다.
// Array Literal
const arr = []

다른 곳에서
const arr = Array.from("supermam")
comsole.log(arr)
//  ["s", "u", "p", "e", "r", "m", "a", "n"]

별것
const arr = Array.of(1,2,3,4)
console.log(arr)
// [1,2,3,4]

배열에 항목 추가하기
우리는 항목을 그룹의 특정 인덱스에 추가하거나 그룹을 사용해서 항목을 그룹에 추가할 수 있습니다.배열 끝에 추가하려면 이 키를 누릅니다.우리도 수조를 사용할 수 있다.이동을 취소하여 처음에 추가합니다.
const arr = []
arr[0] = 'foo' // adding an item to an index
arr.push('bar') // adding to the end
console. log(arr) // ['foo', 'bar']
arr.unshift('john') // adding to the beginning
console.log(arr) // ['john', 'foo', 'bar']

배열에서 항목 검색
우리는 항목의 인덱스를 사용하여 그룹에서 항목을 얻을 수 있으며, 그룹을 사용할 수 있습니다.찾다
// from the index of the item
const arr = [5, 8, 7, 9]
console.log(arr[2]) // 7

// array.find()
const item = arr.find(num => num === 5)
console.log(item) // 5

배열에서 반복
우리는 for of 순환을 사용하여 하나의 그룹을 교체할 수 있습니다. 이 방법은 모든 그룹을 교체할 수 있고, 우리도 그룹을 사용할 수 있습니다.forEach();
const arr = [2, 5, 7, 9, 10]
// for of
for(i of arr){
console.log(i)
}

// array.forEach
arr.forEach(item => console.log(item))

지도.
매핑은 키 값 쌍을 저장할 수 있는 객체로, 매핑은 객체와 유사하지만 객체와 매핑 간의 주요 차이점은 다음과 같습니다.
  • maps는 맵 대상에 속성을 추가하는 순서를 추적합니다.
  • 映射은 다시 사용할 수 있습니다. 이것은 그것들에 [Symbol.iterator] 함수가 있음을 의미합니다. 우리는 映射 대상에 for of 순환을 사용할 수 있습니다.
  • 지도를 만들 때 지도에 정의된 속성이 없습니다. 지도에 추가된 속성만 포함합니다.
  • // creating a map Object
    const heroMap = new Map() // new map object
    console.log(heroMap) // Map {}
    
    우리는 set 방법을 사용하여 지도 대상에 속성을 추가합니다.
    heroMap.set('superman', {name: 'superman', alias: 'clak kent'} )
    
    heroMap.set('batman', {name: 'batman', alias: 'bruce wayne'})
    
    set 함수는 두 개의 매개 변수를 받아들인다. 하나는 키이고, 다른 하나는 우리가 이 키를 설정할 값이다.
    맵 대상에 키가 있는지 확인하기 위해서has 방법을 사용합니다. 맵 대상에 이 키가 존재하면, 이 방법은 맵 대상에게 전달된 키를true로 되돌려줍니다. 그러나 대상에 이 키가 존재하지 않으면undefined로 되돌려줍니다.
    heroMap.has("superman") // true
    heroMap.has('spiderman') // undefined
    heroMap.has("batman") // true
    
    맵 대상에서 값을 얻으려면 get () 방법을 사용합니다. 그 값의 키가 get 방법에 전달되기를 바랍니다.
    console.log(heroMap.get('superman') )
    //  {name: 'superman', alias: 'clak kent'} 
    
    console.log(heroMap.get('batman'))
    // {name: 'batman', alias: 'bruce wayne'}
    
    우리는 for of 순환을 사용하여 지도상에서 교체할 수 있다
    for(k of heroMap)
    {
     console.log(k)
    }
    
    // ['superman', {name: 'superman', alias: 'clak kent'}]
    // ['batman', {name: 'batman', alias: 'bruce wayne'}]
    
    // you can also use this on a map
    heroMap.forEach( item => console.log(item))
    // superman
    // spiderman
    
    // returns us a new iterator object  
    const keys = Object.keys(heroMap)
    console.log(keys.next().value)
    // superman
    
    // more on this later
    

    설정
    집합은 우리가 하나의 독특한 프로젝트를 저장할 수 있는 재사용 가능한 집합이다. 우리는 집합 중의 모든 데이터를 저장할 수 있지만 모든 데이터는 반드시 유일해야 한다.
    우리는 집합 구조 함수를 호출해서 집합을 만들 수 있다.
    const mySet = new Set()
    
    집합에 속성을 추가하려면 집합을 사용합니다.dd 방법, 이것은 매개 변수를 받아들인다. 이 매개 변수는 우리가 집합에 추가할 항목이다
    mySet.add(2)
    mySet.add(4)
    mySet.add('even numbers')
    
    집합에 값이 존재하는지 확인하려면 집합을 사용할 수 있습니다.has () 방법, 우리는 그 존재성 값을 매개 변수로has 함수에 전달하는 것을 검사할 것입니다.
    mySet.has("even numbers") // true
    mySet.has(2) // true
    mySet.has(3) // false
    mySet.has(4) // true
    
    우리는 집합의 값을 편집할 수 있기 때문에 for of 방법으로 집합의 값을 검색할 수 있습니다. 집합의 값을 얻기 위해 for of 방법을 사용하여 집합의 값을 교체할 수 있습니다.
    for (k of mySet) {
    console.log(k)
    }
    
    // 2
    // 4
    // even numbers
    
    set.forEach(num => console.log(num))
    // 2
    // 4
    // even numbers
    
    집합은 uid 목록 (유일한 id) 과 같은 유일한 데이터 집합을 저장하는 좋은 생각입니다.
    컬렉션에서 등록 정보를 검색하면 저장 순서(FIFO)에 따라 해당 등록 정보를 다시 가져옵니다.
    우리는iterables,JavaScript에 다른iterables가 있다는 것을 간단하게 토론했을 뿐이다. 우리는 자신의 맞춤형 iterables를 만들 수 있다. 이 모든 것을 후속 글에서 토론할 것이다.
    이게 도움이 됐으면 좋겠어요.

    좋은 웹페이지 즐겨찾기