Spaces:
Running
Running
Upload script.js
Browse files
script.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const hollandKeywords = {
|
| 2 |
+
"Gerçekçi (R)": [
|
| 3 |
+
"tamir", "inşa", "makine", "alet", "ekipman", "el işi", "fiziksel",
|
| 4 |
+
"doğa", "hayvan", "bitki", "açık hava", "mekanik", "tarım",
|
| 5 |
+
"montaj", "teknik", "araç", "atölye", "pratik", "atletik",
|
| 6 |
+
"beden gücü", "somut", "hayvan bakımı", "çiftçilik", "ormancılık",
|
| 7 |
+
"teknisyenlik", "zanaat", "spor", "itfaiyecilik", "polislik",
|
| 8 |
+
"pilotluk", "şoförlük", "kas etkinliği", "motor koordinasyonu",
|
| 9 |
+
"zanaatkar", "yapı", "üretim", "saha çalışması", "tesisatçı",
|
| 10 |
+
"elektrikçi", "mühendislik", "operatörlük"
|
| 11 |
+
].sort(),
|
| 12 |
+
"Araştırmacı (I)": [
|
| 13 |
+
"araştırma", "analiz", "gözlem", "deney", "bilim", "teori",
|
| 14 |
+
"problem çözme", "merak", "öğrenme", "keşfetme", "fikir",
|
| 15 |
+
"matematik", "biyoloji", "kimya", "fizik", "veri", "inceleme",
|
| 16 |
+
"entelektüel", "mantık", "gözlemci", "analitik", "rasyonel",
|
| 17 |
+
"eleştirel düşünme", "bilim insanı", "matematikçi", "programcı",
|
| 18 |
+
"laboratuvar", "veri analisti", "sorgulama", "yöntemci",
|
| 19 |
+
"bağımsız", "titiz", "biyolog", "genetikçi", "kimyager",
|
| 20 |
+
"fizikçi", "astronot", "antropolog", "tıp teknisyeni",
|
| 21 |
+
"pazar araştırması", "yazılım geliştirme", "bilgi sistemleri",
|
| 22 |
+
"veri bilimci", "sosyal bilimci", "stratejik düşünme", "algoritma",
|
| 23 |
+
"keşif", "doktor"
|
| 24 |
+
].sort(),
|
| 25 |
+
"Sanatçı (A)": [
|
| 26 |
+
"sanat", "tasarım", "çizim", "resim", "müzik", "yazma", "yaratıcı",
|
| 27 |
+
"ifade", "estetik", "hayal gücü", "orijinal", "sezgisel", "drama",
|
| 28 |
+
"dans", "edebiyat", "görsel", "beste", "heykel", "duygusal",
|
| 29 |
+
"bağımsız", "dışavurumcu", "esnek", "yazarlık", "aktör", "fotoğrafçı",
|
| 30 |
+
"grafiker", "mimar", "dekoratör", "moda", "heykeltıraş", "hayalci",
|
| 31 |
+
"fevri", "karmaşık", "kompozitör", "grafik tasarım", "logo",
|
| 32 |
+
"karakter tasarımı", "tipografi", "fotoğrafçılık", "yönetmenlik",
|
| 33 |
+
"müzisyenlik", "animasyon", "özgün", "iç mimar", "sahne sanatları",
|
| 34 |
+
"koreografi", "şair", "editör"
|
| 35 |
+
].sort(),
|
| 36 |
+
"Sosyal (S)": [
|
| 37 |
+
"yardım", "öğretme", "eğitim", "danışmanlık", "rehberlik", "bakım",
|
| 38 |
+
"destek", "insanlar", "sosyal", "işbirliği", "empati", "iletişim",
|
| 39 |
+
"geliştirme", "topluluk", "hasta", "öğrenci", "dinleme", "yardımsever",
|
| 40 |
+
"işbirlikçi", "sabırlı", "anlayışlı", "hemşire", "sosyal hizmet",
|
| 41 |
+
"terapist", "psikolog", "halkla ilişkiler", "insan kaynakları",
|
| 42 |
+
"din görevlisi", "sorumluluk sahibi", "arkadaş canlısı", "içten",
|
| 43 |
+
"nazik", "öğretmen", "vakıf yöneticisi", "sağlık görevlisi",
|
| 44 |
+
"rehabilitasyon danışmanı", "üniversite hocası", "müşteri hizmetleri",
|
| 45 |
+
"hasta bakımı", "koçluk"
|
| 46 |
+
].sort(),
|
| 47 |
+
"Girişimci (E)": [
|
| 48 |
+
"liderlik", "ikna", "satış", "yönetim", "girişim", "işletme",
|
| 49 |
+
"organizasyon", "pazarlama", "müzakere", "rekabet", "başarı",
|
| 50 |
+
"etkileme", "yönlendirme", "risk", "kazanç", "politika", "proje",
|
| 51 |
+
"enerjik", "hırslı", "ikna edici", "kendine güvenen", "maceracı",
|
| 52 |
+
"avukat", "politikacı", "emlakçı", "ceo", "organizatör", "dışadönük",
|
| 53 |
+
"atılgan", "fevri", "sabırsız", "meraklı", "iyimser", "konuşkan",
|
| 54 |
+
"komisyoncu", "menajer", "satış temsilcisi", "tanıtım",
|
| 55 |
+
"finans uzmanı", "yönetici", "patron", "reklamcı", "mümessil",
|
| 56 |
+
"girişimcilik"
|
| 57 |
+
].sort(),
|
| 58 |
+
"Geleneksel (C)": [
|
| 59 |
+
"düzen", "organizasyon", "veri", "kayıt", "prosedür", "ofis",
|
| 60 |
+
"detay", "hesaplama", "yapı", "rutin", "belge", "sistemli",
|
| 61 |
+
"dikkatli", "muhasebe", "finans", "kural", "standart", "sorumlu",
|
| 62 |
+
"itaatkar", "tutarlı", "esnek olmayan", "sabırlı", "vicdanlı",
|
| 63 |
+
"özdenetimli", "dengeli", "banka veznedarı", "kütüphaneci",
|
| 64 |
+
"daktilograf", "postacı", "kitapçı", "finans elemanı", "büro işleri",
|
| 65 |
+
"arşivleme", "geleneksel yöntemler", "bütçe sorumlusu", "denetçi",
|
| 66 |
+
"veri girişi", "memur", "kalite kontrol", "planlama", "uyum",
|
| 67 |
+
"sekreter", "yönetici asistanı"
|
| 68 |
+
].sort()
|
| 69 |
+
};
|
| 70 |
+
|
| 71 |
+
function findHollandType(interestDescription) {
|
| 72 |
+
if (!interestDescription) {
|
| 73 |
+
return [];
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
const text = interestDescription.toLowerCase();
|
| 77 |
+
const matchedTypes = new Set();
|
| 78 |
+
const wordsInText = new Set(text.match(/\b\w+\b/g) || []);
|
| 79 |
+
|
| 80 |
+
for (const typeName in hollandKeywords) {
|
| 81 |
+
if (hollandKeywords.hasOwnProperty(typeName)) {
|
| 82 |
+
const keywords = hollandKeywords[typeName];
|
| 83 |
+
for (const keyword of keywords) {
|
| 84 |
+
if (wordsInText.has(keyword)) {
|
| 85 |
+
matchedTypes.add(typeName);
|
| 86 |
+
break; // Bir anahtar kelime eşleşmesi yeterli
|
| 87 |
+
}
|
| 88 |
+
}
|
| 89 |
+
}
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
return Array.from(matchedTypes).sort();
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 96 |
+
const testButton = document.getElementById('testButton');
|
| 97 |
+
const interestArea = document.getElementById('interestArea');
|
| 98 |
+
const resultText = document.getElementById('resultText');
|
| 99 |
+
|
| 100 |
+
testButton.addEventListener('click', function() {
|
| 101 |
+
const interestText = interestArea.value.trim();
|
| 102 |
+
const results = findHollandType(interestText);
|
| 103 |
+
|
| 104 |
+
if (results.length > 0) {
|
| 105 |
+
resultText.textContent = "Olası Holland Tipleriniz: " + results.join(', ');
|
| 106 |
+
} else {
|
| 107 |
+
resultText.textContent = "Girdiğiniz ilgi alanlarına göre bir Holland tipi belirlenemedi.";
|
| 108 |
+
}
|
| 109 |
+
});
|
| 110 |
+
});
|