본문 바로가기

분류 전체보기125

findvaluesbykey function findValuesByKey(obj, targetKey) { const results = []; function traverse(value) { if (Array.isArray(value)) { for (const item of value) { traverse(item); } } else if (value !== null && typeof value === 'object') { for (const key in value) { if (key === targetKey) { results.push(value[key]); } traverse(value[key]); } } }.. 2025. 4. 9.
sort by type function sortByValueType(arr) { const typeOrder = { 'string': 0, 'boolean': 1, 'object': 2 }; return arr.slice().sort((a, b) => { const aType = typeof Object.values(a)[0]; const bType = typeof Object.values(b)[0]; return typeOrder[aType] - typeOrder[bType]; });}const arr = [ { key1: true }, { key2: "hello" }, { key3: { nested: 1 } }, { key4: false }, { key5: "world" }].. 2025. 4. 8.
player rm import { useState } from 'react';import { Monitor, Play, Settings, Plus, Check, ArrowLeft } from 'lucide-react';// 메인 컴포넌트export default function DeviceManagementApp() { // 상태 관리 const [step, setStep] = useState('register'); // 'register', 'select', 'view' const [devices, setDevices] = useState([]); const [selectedDevice, setSelectedDevice] = useState(null); const [activeTab, setActiveTab] .. 2025. 4. 8.
create json function fixJson(jsonLikeStr) { // 1단계: 키에 따옴표 추가 let withQuotedKeys = jsonLikeStr.replace(/([{,]\s*)([a-zA-Z0-9_]+)\s*:/g, '$1"$2":'); // 2단계: 배열 안의 문자열 값에 따옴표 추가 (숫자/불리언/null 제외) withQuotedKeys = withQuotedKeys.replace(/\[\s*([^\[\]]+?)\s*\]/g, (match, contents) => { const items = contents.split(',').map(item => { const trimmed = item.trim(); if ( trimmed.startsWith('"'.. 2025. 4. 8.