다음 코드는 대부분 undefined
인데 왜 표시됩니까?이 무작위 따옴표 생성기가 가장 자주 정의되지 않은 이유를 알지 못합니다.
0
A
답변
1
기본적으로 임의의 색인을 가져 와서 배열에서 값을 가져와야합니다.
var combineRandom = fragOne[randomOne] + " " + fragTwo[randomTwo] + " " + fragThree[randomThree];
display.innerHTML = combineRandom;
console.log(combineRandom);
작성된대로 모든 임의의 색인을 추가하고 임의의 배열에 요소를 가져 오는 데 사용합니다. undefined
을 얻는 이유는 배열에 항목이있는 경우 색인이 더 클 수 있기 때문입니다. undefined
을 얻는 것은 배열 또는 객체와 정의되지 않은 속성의 일반적인 동작입니다.
0
하면 모두 0에서 1의 값을 취할 수있는 세 개의 숫자 randomOne
, randomTwo
및 randomThree
을 (Math.random
는 0과 1 사이의 값을 리턴하고 4 배열 길이 곱) 합계. 따라서 배열의 길이를 초과하면 배열의 요소를 3 개를 합한 인덱스에서 처리하면됩니다. 따라서 undefined
을 얻는 이유는 무엇입니까?
0
:
을이 코드가 필요하지 않습니다 :
var combineRandom = randomOne+randomTwo+randomThree;
단지 이렇게하고 HTML 렌더링에 맞게 수정하십시오.
console.log(fragOne[randomOne]+" "+fragTwo[randomTwo]+" "+fragThree[randomTh`ree]);
코드를 디버깅하면 그 이유를 알 수 있습니다. 힌트 : combineRandom으로 인덱스하지 않고 문자열을 결합하는 것을 원하지는 않습니다. 'combineRandom = fragOne [randomOne] + fragTwo [randomTwo] + fragThree [randomThree]' –