JavaScript : let TypeError : if 문 내부의 다차원 배열 용

에 캐스팅

HTML, CSS 및 JavaScript에 대한 연구에서 배운 몇 가지 개념을 공식 및 자기 주도 온라인에서 모으고 있습니다. 현재 JavaScript 문제가 있습니다. 이것은 if-else 문 안에 다음 코드 블록을 넣은 후에 발생했습니다. "카운터"를 잃어버린 것 같습니다.

let boxarray = [
      [counter, 'none']  ];

오류 메시지는 다음과 같습니다.

TypeError : boxarray [0]이 정의되지 않았습니다.

코드 펜 (전체 HTML 및 CSS 포함)은 여기에서 볼 수 있습니다. https://codepen.io/j354374/pen/oNxggWZ?editors=1111

내 전체 코드는 다음과 같습니다.

let counter;
let html;
let boxarray = [];
var reload = 0;

function load() {
  html = '<h1>Floats and Clears</h1> <button type="button" onclick="load()">Reload!</button><br>';
  counter = 1;
  for (i = 1; i < 10; i++) {

    // With template strings (es6)
    //html = `
    //    <div class="box box${counter}"></div>
    //`; <-basic idea but expanded with concat and a multi-dimensional array.

    if (reload = 0) {
      //  block of code to be executed if the condition is true
      let boxarray = [
        [counter, 'none']
      ];

    } else {

      console.log("reloaded");

      /* will eventually have something like:
      let boxarray = [
          [counter, document.getElementById("box-" + counter + "properties")]
      ];*/
    }

    html = html.concat(`<div class="box box${counter} box-${boxarray[0][1]}">
<select name="box${counter}-properties" id="box${counter}-properties">
<option value="none">none</option>
<option value="left">left</option>
<option value="right">right</option>
<option value="clear">clear</option>
</select></div>`);
    counter++;
  }

  document.body.innerHTML = html;
  reload = 1;
}
html {
  background: lightblue;
}

.box {
  width: 100px;
  height: 100px;
}

.box1 {
  background: pink;
}

.box2 {
  background: red;
}

.box3 {
  background: firebrick;
}

.box4 {
  background: orange;
}

.box5 {
  background: yellow;
}

.box6 {
  background: lime;
}

.box7 {
  background: green;
}

.box8 {
  background: blue;
}

.box9 {
  background: purple;
}

.box-none {
  float: none;
}

.box-left {
  float: left;
}

.box-right {
  float: right;
}

.box-clear {
  clear: both;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=">
  <title>Floats and Clears</title>
  <link rel="stylesheet" href="css/style.css">
</head>

<body>
  <h1>Floats and Clears</h1>
  <button type="button" onclick="load()">Load!</button><br>
  <script src="js/boxes.js"></script>
</body>

</html>

나는 JavaScript를 배우고 있으므로 도움을 주시면 대단히 감사하겠습니다. 이것은 수업이나 공식적인 과제가 아닙니다. 단지 제가 배우는 것을 돕기 위해하고있는 일입니다. 나는 그것이 작동하는 것에 매우 가깝다고 느낍니다.

이오타
  1. 사용 ==또는 ===(엄격한 평등)하지, 비교 =(할당).
  2. let선언과 동일한 문에 있지 않은 경우 할당 할 때 사용하지 마십시오. 그러면 블록 내에 다른 변수가 생성되고 변경하려는 변수의 값이 업데이트되지 않습니다.
if (reload == 0) {
  boxarray = [
    [counter, 'none']
  ];
}

라이브 예 :

let counter;
let html;
let boxarray = [];
var reload = 0;

function load() {
html = '<h1>Floats and Clears</h1> <button type="button" onclick="load()">Reload!</button><br>';
counter = 1;
for (i = 1; i < 10 ; i++) {
  
// With template strings (es6)
//html = `
//    <div class="box box${counter}"></div>
//`; <-basic idea but expanded with concat and a multi-dimensional array.

if  (reload==0) {
  //  block of code to be executed if the condition is true
  boxarray = [
      [counter, 'none']  ];

} else {

console.log("reloaded");

/* will eventually have something like:
let boxarray = [
    [counter, document.getElementById("box-" + counter + "properties")]
];*/
}



html = html.concat( `<div class="box box${counter} box-${boxarray[0][1]}">
<select name="box${counter}-properties" id="box${counter}-properties">
<option value="none">none</option>
<option value="left">left</option>
<option value="right">right</option>
<option value="clear">clear</option>
</select></div>`);
counter++;
}

document.body.innerHTML = html;
reload = 1;
}
html {
  background: lightblue;
}

.box {
  width: 100px;
  height: 100px;
}

.box1 {
  background: pink;
}

.box2 {
  background: red;
}

.box3 {
  background: firebrick;
}

.box4 {
  background: orange;
}

.box5 {
  background: yellow;
}

.box6 {
  background: lime;
}

.box7 {
  background: green;
}

.box8 {
  background: blue;
}

.box9 {
  background: purple;
}

.box-none {
  float: none;
}

.box-left {
  float: left;
}

.box-right {
  float: right;
}

.box-clear{
  clear: both;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=">
  <title>Floats and Clears</title>
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <h1>Floats and Clears</h1>
   <button type="button" onclick="load()">Load!</button><br>
  <script src="js/boxes.js"></script>
</body>
</html>

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript를 사용하여 다차원 배열의 문자열 요소 결합

분류에서Dev

다차원 배열 내부 배열을 문자열로 변환

분류에서Dev

JavaScript의 다차원 배열에 필터 방법 사용

분류에서Dev

Rails-다차원 배열 내부의 배열에서 .uniq 사용

분류에서Dev

배열의 내용을 다차원 배열에 추가 Swift

분류에서Dev

다차원 배열의 사용자 지정 부분 배열

분류에서Dev

이 JavaScript 다차원 배열의 문제점은 무엇입니까?

분류에서Dev

JavaScript 문자열을 다차원 배열로

분류에서Dev

Javascript, RegEx는 문자열을 괄호 사이의 다차원 배열로 분할합니다.

분류에서Dev

usort 구성원 동등 문제로 인한 다차원 배열의 PHP 사용자 정의 정렬 기능

분류에서Dev

JS는 단일 문자열을 다차원 배열의 키로 사용합니다.

분류에서Dev

javascript-배열의 요소로 다차원 배열 만들기

분류에서Dev

Javascript의 다차원 배열로 배열 푸시

분류에서Dev

사용자 지정 함수 내부의 foreach 루프 내의 다차원 배열에 값 푸시

분류에서Dev

Python : 문자열 인덱스 ( '[0] [1] [0]')를 다차원 배열의 인덱스로 사용하는 방법

분류에서Dev

Javascript에서 다차원 배열의 n 번째 요소에 액세스하는 데 문제가 있습니다.

분류에서Dev

다차원 배열의 잘못된 문자열 오프셋

분류에서Dev

vb.net의 다차원 문자열 배열

분류에서Dev

다차원 배열의 문자열 바꾸기

분류에서Dev

쉼표로 구분 된 문자열의 다차원 배열

분류에서Dev

csv 파일의 문자열을 다차원 배열로

분류에서Dev

다차원 배열 사용

분류에서Dev

다차원 배열에서 JavaScript forEach 및 splice 사용

분류에서Dev

PHP와 같은 JavaScript를 사용한 다차원 배열

분류에서Dev

ajax, index [0] 문제를 통해 다차원 배열 보내기

분류에서Dev

Javascript는 map을 사용하여 1 차원 배열에서 2 차원 배열을 만듭니다.

분류에서Dev

2 차원 배열을 만들지 않고 푸시를 사용하여 다른 배열의 값으로 배열 만들기 (JavaScript)

분류에서Dev

다차원 배열의 이름 구문 분석

분류에서Dev

Swift의 다차원 배열 구문은 무엇입니까?

Related 관련 기사

  1. 1

    Javascript를 사용하여 다차원 배열의 문자열 요소 결합

  2. 2

    다차원 배열 내부 배열을 문자열로 변환

  3. 3

    JavaScript의 다차원 배열에 필터 방법 사용

  4. 4

    Rails-다차원 배열 내부의 배열에서 .uniq 사용

  5. 5

    배열의 내용을 다차원 배열에 추가 Swift

  6. 6

    다차원 배열의 사용자 지정 부분 배열

  7. 7

    이 JavaScript 다차원 배열의 문제점은 무엇입니까?

  8. 8

    JavaScript 문자열을 다차원 배열로

  9. 9

    Javascript, RegEx는 문자열을 괄호 사이의 다차원 배열로 분할합니다.

  10. 10

    usort 구성원 동등 문제로 인한 다차원 배열의 PHP 사용자 정의 정렬 기능

  11. 11

    JS는 단일 문자열을 다차원 배열의 키로 사용합니다.

  12. 12

    javascript-배열의 요소로 다차원 배열 만들기

  13. 13

    Javascript의 다차원 배열로 배열 푸시

  14. 14

    사용자 지정 함수 내부의 foreach 루프 내의 다차원 배열에 값 푸시

  15. 15

    Python : 문자열 인덱스 ( '[0] [1] [0]')를 다차원 배열의 인덱스로 사용하는 방법

  16. 16

    Javascript에서 다차원 배열의 n 번째 요소에 액세스하는 데 문제가 있습니다.

  17. 17

    다차원 배열의 잘못된 문자열 오프셋

  18. 18

    vb.net의 다차원 문자열 배열

  19. 19

    다차원 배열의 문자열 바꾸기

  20. 20

    쉼표로 구분 된 문자열의 다차원 배열

  21. 21

    csv 파일의 문자열을 다차원 배열로

  22. 22

    다차원 배열 사용

  23. 23

    다차원 배열에서 JavaScript forEach 및 splice 사용

  24. 24

    PHP와 같은 JavaScript를 사용한 다차원 배열

  25. 25

    ajax, index [0] 문제를 통해 다차원 배열 보내기

  26. 26

    Javascript는 map을 사용하여 1 차원 배열에서 2 차원 배열을 만듭니다.

  27. 27

    2 차원 배열을 만들지 않고 푸시를 사용하여 다른 배열의 값으로 배열 만들기 (JavaScript)

  28. 28

    다차원 배열의 이름 구문 분석

  29. 29

    Swift의 다차원 배열 구문은 무엇입니까?

뜨겁다태그

보관