:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
24/06/12 02:44
비몽사몽이라 반복문 안에서 굳이 해야 하나 싶긴 한데, 간단히 이런식으로도 구현은 될거에요.
let boxHeights = $(".box").toArray().map(v => $(v).height()); 1. boxHeights.sort().reverse()[0]; 2. boxHeights.reduce((prev, curr) => prev > curr ? prev : curr); 3. Math.max(...boxHeights); 첫댓 써주신것처럼 우리의 gpt님은 더 자세히 설명을..
24/06/12 08:23
Gpt-4o 답변
네, 방향은 맞습니다! `each` 루프 안에서 배열을 선언하게 되면 각 루프마다 새로운 배열이 생성되기 때문에 각각의 높이가 별도의 배열에 들어가게 됩니다. 이를 해결하기 위해 배열을 루프 바깥에서 선언하고, 루프 안에서는 해당 배열에 높이를 추가해주면 됩니다. 다음은 수정된 코드입니다: ```javascript // 배열을 루프 바깥에서 선언합니다. let arr = []; // 각 .box 요소를 순회하며 높이를 배열에 추가합니다. $(".box").each(function(){ let h = $(this).outerHeight(); arr.push(h); // 배열에 높이를 추가합니다. }); // 배열을 콘솔에 출력합니다. console.log(arr); // 배열에서 가장 높은 값을 찾습니다. let maxHeight = Math.max.apply(null, arr); // 가장 높은 값을 콘솔에 출력합니다. console.log("가장 높은 높이: " + maxHeight + "px"); ``` 이제 `arr` 배열은 `[100, 200, 300, 400]`처럼 각 박스의 높이를 담게 되고, `Math.max.apply(null, arr)`를 사용하여 가장 높은 값을 찾을 수 있습니다. 위의 코드에서는 `each` 루프 바깥에 `arr` 변수를 선언하고, 각 박스의 높이를 `arr` 배열에 `push` 메서드를 사용하여 추가합니다. 그런 다음, `Math.max.apply(null, arr)`를 사용하여 배열에서 가장 큰 값을 찾습니다.
24/06/12 13:32
chatgpt 가 작성해준 코드입니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Find Max Height</title> <style> .box { width: 100px; display: inline-block; } .box1 { height: 100px; background-color: lightblue; } .box2 { height: 200px; background-color: lightgreen; } .box3 { height: 300px; background-color: lightcoral; } .box4 { height: 400px; background-color: lightgoldenrodyellow; } </style> </head> <body> <div class="box box1"></div> <div class="box box2"></div> <div class="box box3"></div> <div class="box box4"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { let maxHeight = 0; $('.box').each(function() { let height = $(this).height(); if (height > maxHeight) { maxHeight = height; } }); console.log("The highest box height is: " + maxHeight + "px"); }); </script> </body> </html>
24/06/14 18:54
오 배열에 몰아넣고 비교가 아니라 빈 변수에 할당을 계속줘서 비교하는 방법인가보군요 답변감사합니다 그나저나 챗지피티 신기하긴하네요 크크 10년뒤에는 a4지 몇장 분량으로 설명 쭉 쓰면 사이트 하나 뚝딱되겠어요
|