javascript-프로토 타입 내부에 정의되지 않음

8 비트 Borges

이 생성자가 있습니다.

var Song = function(side, name, index, duration, author, lyrics) {
    this.side = side;
    this.name = name;
    this.index = index;
    this.duration = duration;
    this.author = author;
    this.lyrics = lyrics;
    globalLyrics.push(this.lyrics);
};

그런 다음 최대 24 개의 인스턴스를 만들었습니다.

var song24 = new Song('Lab', 'Buffalo', 23, '3:10', 'Band', 
    ["this", "tambourine", "is", "waging", "a", "war", "will",
    "drenched", "in", "blood", "flood", "egg", "shape",
    "shaped", "rock", "rocking", "to", "kill", "the", "bull",
    "slay", "slain", "by", "dogs", "snakes", "raven", "scorpio",
    "lion", "headed", "head", "god", "rise"]);

다음과 같이 사용자 입력을 교차하고 싶습니다.

 var input = ["tambourine", "this"];

... 가사 데이터베이스와 함께; 그 목적을 위해 교차 기능이 있습니다 ...

function setIntersection(a, b) {

    var result = [];

    for (var i = 0; i < a.length; i++) {
        if (b.indexOf(a[i]) !== -1 && result.indexOf(a[i]) === -1) {
            result.push(a[i]);
        }
    }

    return result;
}

... 그리고 prototype function:

Song.prototype.songIntersect = function(input) {

    var bestSong = null;
    var bestCount = -Infinity;

    for (var i = 1; i <= 24; i++) {

        var currentSong = ['song' + i];
        var currentCount = setIntersection(song[i].lyrics, input).length;

        if (currentCount > bestCount) {
            bestSong = currentSong;
            bestCount = currentCount;
        }
    }

    return bestSong.name;
}       

하지만 "정의되지 않은 노래"가 표시됩니다. 오류는 prototype function. 내가 여기서 뭘 놓치고 있니? 감사합니다.

redbmk

당신은 변수 이름으로 24 곡을 만드는 song1, song2등 그러나 액세스를 시도 할 때 나중에, 당신은 이름이 존재하지 않는 배열을 사용하여 노래를 찾고 있습니다 song. 먼저 노래 배열을 정의하여이 문제를 해결할 수 있습니다. 이것은 또한 코드에 얼마나 많은 노래가 있는지 정확히 알 필요가 없음을 의미합니다. 데이터베이스, 공용 API 또는 사용자 입력과 같은 외부 소스를 기반으로 노래를 동적으로 추가하거나 제거 할 수 있습니다.

var songs = [];

// add your songs like this
songs.push(new Song(/* ... */));

또한 currentSong변수는 노래 변수 이름의 문자열을 포함하는 배열입니다. 노래를 배열에 저장하는 경우 색인이나 실제 노래를 대신 저장할 수 있습니다.

Song.prototype.songIntersect = function(input) {
    var bestSong = null;
    var bestCount = -Infinity;

    for (var i in songs) {
        var currentCount = setIntersection(songs[i].lyrics, input).length;

        if (currentCount > best.count) {
            bestSong = song[i];
            bestCount = currentCount;
        }
    }

    return bestSong && bestSong.name;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript-프로토 타입에 정의되지 않은 배열?

분류에서Dev

생성자에서 초기화 된 JavaScript 프로토 타입 속성이 할당 된 새 프로토 타입으로 재정의되지 않습니다.

분류에서Dev

C ++ 프로토 타입이 재정의되지 않음

분류에서Dev

UITableView (Swift)의 프로토 타입 셀에 UIImage가 나타나지 않음

분류에서Dev

자바 스크립트가 프로토 타입 객체에서 정의되지 않은 속성을 설정하지 않음

분류에서Dev

Safari에서 정의되지 않은 객체 프로토 타입에 새로 추가 된 기능 / 속성

분류에서Dev

상속시 예상대로 해결되지 않는 프로토 타입 메서드 내부의 'this'

분류에서Dev

객체 내부에서 전역 배열에 액세스 할 수 없지만 JavaScript의 프로토 타입 내부에있는 이유는 무엇입니까?

분류에서Dev

프로토 타입에 함수 추가가 작동하지 않음

분류에서Dev

TypeError : 개체 프로토 타입은 개체이거나 null 일 수 있습니다. Ionic3에서 정의되지 않음

분류에서Dev

프로토 타입 메서드가 호출되지 않음

분류에서Dev

프로토 타입 클래스의 정의되지 않은 DOM 요소

분류에서Dev

자바 스크립트 프로토 타입 상속 기본 함수 정의되지 않음

분류에서Dev

JSON 데이터가 JavaScript에서 "정의되지 않음"으로 표시되는 이유는 무엇입니까?

분류에서Dev

빈 개체 프로토 타입이 정의되지 않았습니다.

분류에서Dev

포착되지 않은 TypeError : 프로토 타입 함수에서 정의되지 않은 '값'속성을 읽을 수 없습니다.

분류에서Dev

프로토 타입 속성에 할당하면 프로토 타입에서 재정의해야하지 않습니까?

분류에서Dev

Javascript에서 사용되는 단어 프로토 타입은 무엇입니까?

분류에서Dev

UITableView가 프로토 타입 셀을 표시하지 않음

분류에서Dev

JSSOR 발견되지 않은 오류 : 'thumbnavigator'의 프로토 타입이 정의되지 않았습니다.

분류에서Dev

프로토 타입으로 선언 된 함수는 정의되지 않은 것으로 나타납니다.

분류에서Dev

`this`는 프로토 타입 메서드에 바인딩되지 않습니다.

분류에서Dev

eventListener가있는 프로토 타입 내부의 Array.from (..)이 작동하지 않습니다.

분류에서Dev

프로토 타입 내의 개체

분류에서Dev

Storybook-사용자 정의 웹팩 / Babel이있는 타이프 스크립트 프로젝트에 스토리가 표시되지 않음

분류에서Dev

"즉시 호출 된 함수 표현식"내의 JavaScript 프로토 타입

분류에서Dev

Typescript Node.js 프로토 타입이 컴파일되지 않음

분류에서Dev

간단한 for 루프 함수 BEGINNER JAVASCRIPT의 끝에서 정의되지 않음

분류에서Dev

Java에서 JavaScript의 "프로토 타입"과 유사한 것이 있습니까?

Related 관련 기사

  1. 1

    Javascript-프로토 타입에 정의되지 않은 배열?

  2. 2

    생성자에서 초기화 된 JavaScript 프로토 타입 속성이 할당 된 새 프로토 타입으로 재정의되지 않습니다.

  3. 3

    C ++ 프로토 타입이 재정의되지 않음

  4. 4

    UITableView (Swift)의 프로토 타입 셀에 UIImage가 나타나지 않음

  5. 5

    자바 스크립트가 프로토 타입 객체에서 정의되지 않은 속성을 설정하지 않음

  6. 6

    Safari에서 정의되지 않은 객체 프로토 타입에 새로 추가 된 기능 / 속성

  7. 7

    상속시 예상대로 해결되지 않는 프로토 타입 메서드 내부의 'this'

  8. 8

    객체 내부에서 전역 배열에 액세스 할 수 없지만 JavaScript의 프로토 타입 내부에있는 이유는 무엇입니까?

  9. 9

    프로토 타입에 함수 추가가 작동하지 않음

  10. 10

    TypeError : 개체 프로토 타입은 개체이거나 null 일 수 있습니다. Ionic3에서 정의되지 않음

  11. 11

    프로토 타입 메서드가 호출되지 않음

  12. 12

    프로토 타입 클래스의 정의되지 않은 DOM 요소

  13. 13

    자바 스크립트 프로토 타입 상속 기본 함수 정의되지 않음

  14. 14

    JSON 데이터가 JavaScript에서 "정의되지 않음"으로 표시되는 이유는 무엇입니까?

  15. 15

    빈 개체 프로토 타입이 정의되지 않았습니다.

  16. 16

    포착되지 않은 TypeError : 프로토 타입 함수에서 정의되지 않은 '값'속성을 읽을 수 없습니다.

  17. 17

    프로토 타입 속성에 할당하면 프로토 타입에서 재정의해야하지 않습니까?

  18. 18

    Javascript에서 사용되는 단어 프로토 타입은 무엇입니까?

  19. 19

    UITableView가 프로토 타입 셀을 표시하지 않음

  20. 20

    JSSOR 발견되지 않은 오류 : 'thumbnavigator'의 프로토 타입이 정의되지 않았습니다.

  21. 21

    프로토 타입으로 선언 된 함수는 정의되지 않은 것으로 나타납니다.

  22. 22

    `this`는 프로토 타입 메서드에 바인딩되지 않습니다.

  23. 23

    eventListener가있는 프로토 타입 내부의 Array.from (..)이 작동하지 않습니다.

  24. 24

    프로토 타입 내의 개체

  25. 25

    Storybook-사용자 정의 웹팩 / Babel이있는 타이프 스크립트 프로젝트에 스토리가 표시되지 않음

  26. 26

    "즉시 호출 된 함수 표현식"내의 JavaScript 프로토 타입

  27. 27

    Typescript Node.js 프로토 타입이 컴파일되지 않음

  28. 28

    간단한 for 루프 함수 BEGINNER JAVASCRIPT의 끝에서 정의되지 않음

  29. 29

    Java에서 JavaScript의 "프로토 타입"과 유사한 것이 있습니까?

뜨겁다태그

보관