WeCode 1μ£Όμ°¨ Repl.it κ³Όμ λ‘ λμ¨ λ¬Έμ μ€ μ΄λ ΅κ±°λ μλ‘ λ°°μ΄ λ΄μ©μ λν΄ λ€μ νλ² μ 리ν΄λ³΄κΈ°λ‘ νλ€!
JavaScriptμ ν¨μλ μ¬λ¬ κ°μ 맀κ°λ³μλ₯Ό μ§μ ν μ μλ€.
λ§μ°¬κ°μ§λ‘, μΈμλ μ¬λ¬ κ° λ°μ μ μλ€.
Q. λ , μ, μΌμ ν΄λΉνλ μΈ κ°μ μΈμλ₯Ό λ°λ ν¨μλ₯Ό λ§λ€κ³ , λ€μ΄μ€λ μΈμμ λ°λΌ λ€λ₯Έ κ°μ return νλ λ¬Έμ
function meetAt(year, month, date) {
if (year) {
return `${year}λ
`;
} else if ((year, month)) {
return `${year}λ
${month}μ`;
} else if ((year, month, date)) {
return `${year}/${month}/${date}`;
}
}
console.log(meetAt(2020)); // 2020λ
console.log(meetAt(2020, 5)); // 2020λ
console.log(meetAt(2020, 5, 26)); // 2020λ
맨 μ²μ μμ±ν μ½λ! μΌν λ΄€μλ λ¬Έμ μμ΄ λ³΄μλλ°, console.log
λ‘ μΆλ ₯ν΄λ³΄λ 3κ° λͺ¨λ "2020λ
" λ§ μΆλ ₯λλ€.
2λ²μ§Έ κ²½μ°μλ (year)
μΈμλ§ μλ κ²½μ°λ, (year, month)
2κ°μ μΈμκ° μλ κ²½μ°, λ§μ°¬κ°μ§λ‘ 3κ°μ μΈμκ° μλ κ²½μ° λͺ¨λ 첫λ²μ§Έ if (year) { λμΆ© λλ¨Έμ§ ν¨μ }
쑰건μ λ§μ‘±μμΌ λ²λ¦¬κΈ° λλ¬Έμ λ€μ else if
λ‘ λμ΄κ°μ§ μκ³ μ²μ ν¨μμ return κ°μΈ ${year}λ
λ§ μΆλ ₯λλ κ²!
return ν€μλ λ°λ‘ λ€μμ μ€λ κ°μ΄ ν¨μ νΈμΆμ κ²°κ³Όκ°μΌλ‘ λ°νλλ©°, λ°νλλ μ¦μ ν¨μ μ€νμ΄ λλλ€.
κ·Έλμ μ²μ return κ°μΈ ${year}λ
μ΄ λ°νλκ³ ν¨μκ° λ°λ‘ μ’
λ£λκΈ° λλ¬Έμ λλ¨Έμ§ ν¨μκ° μ€νλμ§ μμλ κ²!
function meetAt(year, month, date) {
if ((year, month, date)) {
return `${year}/${month}/${date}`;
} else if ((year, month)) {
return `${year}λ
${month}μ`;
} else {
return `${year}λ
`;
}
}
console.log(meetAt(2020)); // 2020λ
console.log(meetAt(2020, 5)); // 2020λ
5μ
console.log(meetAt(2020, 5, 26)); // 2020/5/26
β μΈμκ° 3κ°μΈ κ²½μ°λ₯Ό λ§μ‘±μν¬λλΆν°...
μ¦, μμ ifμ 쑰건μ λ κΉλ€λ‘κ² μ§μ νμ¬ ν΄λΉ 쑰건μ λ§μ‘±νμ§ λͺ»νλ κ²½μ° λ€μ 쑰건μΌλ‘ λμ΄κ° μ μλλ‘ μμλ₯Ό μ‘°μ νλ€!
function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];
return arr[1[1[0]]];
}
array μμ arrayμμ arrayμμ.....μ...
[ index [ index [ index ] ] ] μ΄λ κ² ν΄λ³ΌκΉ?
undefined μΆλ ₯!!!π€¨
function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];
return arr[1][1][0];
}
κ·ΈλΌ μ²«λ²μ§Έ array indexλ₯Ό λ¨Όμ μ°Ύκ³ , κ·Έλ€μμ μ°Ύμ arrayμμμ λ€μ indexλ₯Ό μ°Ύμκ°λ μμ΄λκΉ [i]λ μμ°¨μ μΌλ‘ λμ΄ν΄λ³ΌκΉ?
μ€! λ°λ‘ μ λ΅π»!
function divideArrayInHalf(array) {
let result = [];
for (i = array.length-1; i >= 0; i--) {
if (array[i] <= 10) {
result.unshift(array[i]);
} else {
result.push(array[i]);
}
return result;
}
}
const array1 = [1, 20, 10, 5, 100];
divideArrayInHalf(array1); // [100]
β λ°°μ΄μ 맨 λ€ μμλΆν° 맨 μ μμκΉμ§ μμμΌλ‘ μ§νλμ΄μΌ νκΈ° λλ¬Έμ i κ°μΌλ‘ array.length-1
μ μ§μ νκ³ , i--
λ‘ λ§μ§λ§ λΆν° μμμΌλ‘ 체ν¬νλλ‘ forλ¬Έμ μμ±νλ€.
κ·Έλ¦¬κ³ array[i]μ κ°μ λΉκ΅ν΄μ κ·Έ κ²°κ³Όκ°μ 10μ κΈ°μ€μΌλ‘ unshift
μ push
λ‘ λλμλ€.
κ·Έλ°λ° κ²°κ³Όλ...γ
γ
[100]
λ§ λμ΄γ
γ
μ... λ°°μ΄ λ§¨ λ€ κ°μΈ 100 체ν¬λ μ λκ² κ°μλ°...
[100]
λ§ λ°νλκ³ ν¨μκ° λλλ€λ건 for λ¬Έμ 1λ² λκ³ return
μ λ§λμ μ’
λ£λ건κ°?
function divideArrayInHalf(array) {
let result = [];
for (i = array.length-1; i >= 0; i--) {
if (array[i] <= 10) {
result.unshift(array[i]);
} else {
result.push(array[i]);
}
console.log(result); // [100]
return result;
}
console.log(result); // [100]
}
const array1 = [1, 20, 10, 5, 100];
divideArrayInHalf(array1); // [100]
console.log λ‘ νμΈν΄λ³΄λ λ΄ μκ°μ΄ λ§λλ―?
function divideArrayInHalf(array) {
let result = [];
for (i = array.length - 1; i >= 0; i--) {
if (array[i] <= 10) {
result.unshift(array[i]);
} else {
result.push(array[i]);
}
}
return result;
}
const array1 = [1, 20, 10, 5, 100];
divideArrayInHalf(array1); // [100]
return
μ μμΉλ₯Ό forλ¬Έ λ°μΌλ‘ 빼쀬λ€!
κ²°κ³Όλ λμ±κ³΅π
(30λΆλμ λλλλλ° μ¬λ ν무....)
const arr = [20, 200, 23, 1, 3, 9];
let minNumber = arr[0];
function findSmallestElement(arr) {
if (arr.length < 1) {
return 0;
} else {
for (i = 0; i < arr.length; i++) {
if (minNumber > arr[i]) {
minNumber = arr[i];
return minNumber; // returnμ κΉλΉ‘ νλ
....
}
}
}
}
findSmallestElement(arr); // 1
μ΅μκ°μ λνλ΄λ minNumber λ³μλ₯Ό 미리 μ μνλ€!
κ·Έλ¦¬κ³ ν¨μ μ μΈ! μ°μ arrκ° λΉ λ°°μ΄ μΌ κ²½μ°, μ¦ arrμ κΈΈμ΄κ° 1λ³΄λ€ μμ κ²½μ°λ 0μ 빨리 리ν΄ν΄λ²λ¦¬κΈ°!
κ·Έ λ€μμ for if λ¬ΈμΌλ‘ minNumber(νμ¬ arrμ 첫λ²μ§Έ μμλ‘ μ μΈλμμ)κ³Ό arr λ°°μ΄ μμ μμλ€μ κ°κ° λΉκ΅νλ€κ° minNumber λ³΄λ€ μμ μμλ₯Ό λ°κ²¬νλ©΄ minNumber = arr[i];
λ‘ λ³μλ₯Ό μμ νλ€.
(λΈλ‘κ·Έλ₯Ό λ§μ΄ μ°Έκ³ νμ! μ΅λκ° μ°Ύκ±°λ λ€λ₯Έ κ²½μ°μλ μ μ©νκ² μ΄μ©ν μ μμ κ² κ°λΉ!!!)
μ²μμ return
μ κΉλΉ‘ν΄μ ν 10λΆ λλλλλ°.... μ°¨λΆνκ² λ€μ 보λ return
μ΄ λΉ μ Έ μμλ€. μλκΉ¨λ return
μ‘°μ¬πππππ
<μ°Έκ³ ν λΈλ‘κ·Έ : https://webisfree.com/2018-01-23/μλ°μ€ν¬λ¦½νΈ-λ°°μ΄κ°-μ€μμ-μ΅λκ°-μ΅μκ°-μ°Ύλ-λ°©λ²>
β κ·Έλ¦¬κ³ submit μ ν΄λ¦νλλ°..!!!
μ... λ³μ μ μΈ μμΉμ λ¬Έμ μΈκ² κ°λ€. (λ΄κ° μ μΌ μ½ν λΆλΆ)
submit νμλμ μ€λ₯ 문ꡬλ₯Ό 보면.... λμΆ© νΉμ κ²½μ°μμ κ°μ΄ μλμ¨λ€κ³ νλ€.
μ΄ ν¨μλ κΆκ·Ήμ μΌλ‘ minNumber
μ μ μ₯λ κ°μ return νλ ν¨μμΈλ° μκ°ν΄λ³΄λmimNumber
μ arr1[0];
μ΄λΌκ³ κ°μ μ§μ ν΄ λ²λ Έλ€...
minNumber
λ μΈμλ‘ λ€μ΄μ€λ arrμ λ°λΌ κ³μ κ°μ΄ λ°λμ΄μΌ νλ, ν¨μ μμμ μ μΈνλ©΄ ν΄κ²°λμ§ μμκΉ?
νλ² ν΄λ³΄μ!!
const arr1 = [20, 200, 23, 3];
function findSmallestElement(arr) {
if (arr.length === 0) {
return 0;
} else {
let minNumber = arr[0]; // minNumber λ³μλ₯Ό ν¨μ μμμ μ μΈ
for (i = 0; i < arr.length; i++) {
if (minNumber > arr[i]) {
minNumber = arr[i];
} else {
continue;
}
}
return minNumber;
}
}
findSmallestElement(arr1);
μ±κ³΅!!!!π€
function sliceCityFromAddress(address) {
let cityIndex = address.indexOf("μ");
if(cityIndex > -1) {
address = address.slice(0, cityIndex-2) + address.slice(cityIndex+2, cityIndex.length);
return address;
}
}
let addres1 = "κ²½κΈ°λ μ±λ¨μ λΆλΉκ΅¬ μ€μ곡μλ‘ 53";
sliceCityFromAddress(addres1); // κ²½κΈ°λ λΆλΉκ΅¬ μ€μ곡μλ‘ 53
β μ΄λ κ² νμλλ ν΄λΉ μμ λ μ λμ¨λ€!
κ·Έλ°λ°..... μμμΈμ 볡λ³γ γ μμΈνΉλ³μ....
"μ"λ₯Ό κΈ°μ€μΌλ‘ cityIndex-2
cityIndex+2
λ‘ μ½λλ₯Ό μ§°κΈ° λλ¬Έμ...
"λ" λ νλ, "μ"λ νλλκΉ, "λ"μ "μ"λ₯Ό κ°κ° indexOfλ‘ μμΉκ°μ μμλ΄μ sliceλ‘ "λ"~"μ" μ¬μ΄λ₯Ό μ μΈν λλ¨Έμ§λ§ λ°ννλ©΄ λμ§ μμκΉ??
μ€μ€μ€ μμ λ κ±°κ°μ!!! μλν΄λ³΄μ!!! π€£π€£π€£π€£
function sliceCityFromAddress(address) {
let cityIndex = address.indexOf("μ");
let doIndex = address.indexOf("λ");
if(cityIndex > -1) {
address = address.slice(0, doIndex+2) + address.slice(cityIndex+2, address.length);
return address;
}
}
let addres1 = "μμΈνΉλ³μ κ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ";
sliceCityFromAddress(addres1); // μκ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ
γ γ .......... μμΈνΉλ³μ, λΆμ°κ΄μμ μ²λΌ "λ"κ° μλ μ£Όμμ κ²½μ°μλ, μ΄λ κ² μμ κΈμκ° μλ €μ 보μΈλ€γ γ
"λ"κ° μκΈ° λλ¬Έμ slice μμ κΈ°μ€μ μ΄ μλ κ²....
ν ..... νμ.... "λ" λ¬Έμκ° μμ κ²½μ°λ κ²½μ°μ μλ‘ μ΄μ©ν μ μμ κ² κ°λ€.
"λ"κ° μμ λ = indexOfκ° -1 μΌλ β γ
γ
γ
γ
μ λ₯Ό λ§νλ€κ³ λ³Ό μ μμ§ μμκΉ?
<μ μκ²λ μμ§ νμ΄ λ¨μ μμ΅λλ€....!>
function sliceCityFromAddress(address) {
let cityIndex = address.indexOf("μ");
let doIndex = address.indexOf("λ");
if(doIndex === -1) { // "λ"κ° μμ λ, μ¦ νΉλ³μλ κ΄μμμΌ λ
address = address.slice(cityIndex+2, address.length);
return address;
} else { // γ
γ
λ γ
γ
μ νμμΌ λ
address = address.slice(0, doIndex+2) + address.slice(cityIndex+2, address.length);
return address;
}
}
let addres1 = "μμΈνΉλ³μ κ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ";
sliceCityFromAddress(addres1); // κ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ
μΌμμμ μ±κ³΅~!!!!!!!!!!!!π€£
function sliceCityFromAddress(address) {
let cityIndex = address.indexOf("μ");
let doIndex = address.indexOf("λ");
if(doIndex === -1) { // "λ"κ° μμ λ, μ¦ νΉλ³μλ κ΄μμμΌ λ
return address.slice(cityIndex+2, address.length);
} else { // γ
γ
λ γ
γ
μ νμμΌ λ
return address.slice(0, doIndex+2) + address.slice(cityIndex+2, address.length);
}
}
let addres1 = "μμΈνΉλ³μ κ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ";
sliceCityFromAddress(addres1); // κ°λ¨κ΅¬ ν
ν€λλ‘ 427 μμν¬νμ
ν¨μ λ΄λΆμμ μΈμλ‘ λ°μ λ³μμ μλ‘μ΄ κ°μ λ£μΌλ©΄ μλλλ° address = address μ΄μ©κ΅¬ λμΆ© κΈ΄ μ½λ
λ‘ κ°μ μ§μ ν΄ λ²λ¦¬κ΅¬ νμ return
νλ€γ
γ
μμ μμμ²λΌ λ°λ‘ return
νλ©΄ λλλ°...λ°λΆ....
function getWesternAge(birthday) {
let rightNow = new Date();
let thisYear = rightNow.getFullYear();
let birthYear = birthday.getFullYear();
let age = thisYear - birthYear;
if(thisYear > birthYear) {
return age -= 1;
}
}
let birthday1 = new Date('2009-01-20T03:24:00');
getWesternAge(birthday1);
β μ²μμλ λ¨μνκ² μκ°ν΄μ... λμ΄ κ΅¬νλ κ±°λκΉ νμ¬ λ
λμ μμΌ λ
λλ₯Ό λ³μ μ μΈ ν νμ λμ λΉκ΅νκ³ λ§ λμ΄ λκΉ -1
!! μ΄λΌκ³ μκ° νλλ°....
λ§ λμ΄λ μμΌμ κΈ°μ€μΌλ‘ λμ΄λ₯Ό κ³μ°νκΈ° λλ¬Έμ νμ¬ μ,μΌκ³Ό μμΌ μ,μΌλΌλ¦¬λ λΉκ΅ν΄μΌ νλ€!
function getWesternAge(birthday) {
let rightNow = new Date();
let birth = new Date(birthday);
let age = rightNow.getFullYear() - birth.getFullYear();
birth.setFullYear(rightNow.getFullYear()); // μμΌ, νμ¬ λ
λ λ§μΆκΈ° (λ μ§ λΉκ΅λ₯Ό μν΄)
if(rightNow > birth) {
return age; // νμ¬λ³΄λ€ μμΌμ΄ μμΌλ©΄ λμ΄!
} else {
return age -= 1; // νμ¬λ³΄λ€ μμΌμ΄ ν¬λ©΄ λμ΄ -1
}
}
birthday1 = "1990-03-21T00:45:06.562Z";
getWesternAge(birthday1);
κ΅¬κΈ νν κ²μ...^^...
λΈλ‘κ·Έμμ λ³Έ λ°©λ²μΌλ‘λ setFullYear
λΌλ λ©μλλ₯Ό μ΄μ©ν΄μ μμΌκ³Ό νμ¬ λ
λλ₯Ό λ§μΆ νμ μ,μΌμ λΉκ΅νλ©΄ λλ€κ³ νλ€.
π€ͺλ§λμ΄ κ³μ°νλκ±° μ§μ§ ν·κ°λ¦°λ€....γ γ
μ μΌ νλ€μλ λΆλΆμ else { return age -= 1; // μμΌμ΄ μ§λ¬μΌλ©΄ λμ΄ -1 }
μ¬κΈ°μΈλ°, μμΌμ΄ μ§λ¬μΌλ λμ΄+1 μ΄λΌκ³ μκ°νμ§λ§, λμ΄κ°μΈ age
λ μμμ rightNow.getFullYear() - birth.getFullYear();
μΌλ‘ μ΄λ―Έ ꡬνκ³ ,
κ°μ λ λλ‘ λ§μ·κΈ° λλ¬Έμ, νμ¬ λ μ§κ° 2020λ 5μ 29μΌμΈλ° νμ΄λ λ μ΄ 2020λ 7μ 29μΌ μ΄λΌλ©΄ β μμ§ μμΌμ΄ μμ§λκ²! β λμ΄ -1
(μ€μ νμ¬ λ μ§ : 2020/5/29
, μ€μ μμΌ : 1981/7/29
μ΄λΌκ³ μκ°νλ©΄ μ΄ν΄κ° μ½λ€.)
νμ¬ λ μ§κ° 2020λ 5μ 29μΌμΈλ° νμ΄λ λ μ΄ 2020λ 3μ 29μΌ μ΄λΌλ©΄ β μμΌμ΄ μ§λ κ²!
<μ°Έκ³ ν λΈλ‘κ·Έ : https://openwiki.kr/tech/javascriptλ§λμ΄κ³μ°>
function getWesternAge(birthday) {
var today = new Date();
var thisYear = 0;
if (today.getMonth() < birthday.getMonth())
thisYear = 1; // νμ¬ μλ³΄λ€ μμΌ μμ΄ λ ν¬λ©΄ λμ΄ -1
} else if ((today.getMonth() == birthday.getMonth()) && today.getDate() < birthday.getDate()) {
thisYear = 1; // μμ΄ κ°κ³ & νμ¬ μΌλ³΄λ€ μμΌ μΌμ΄ λ ν¬λ©΄ λμ΄ -1
}
var age = today.getFullYear() - birthday.getFullYear() - thisYear;
return age;
}
setFullYear
λ©μλλ₯Ό μ¬μ©νμ§ μκ³ , μ getMonth
λΌλ¦¬ λ¨Όμ λΉκ΅νκ³ , μμ΄ κ°μ κ²½μ° μΌ getDate
μ λΉκ΅νλ€.
age ꡬνλ건 thisYear λΌλ λ³μλ₯Ό μ μΈν΄μ κ°μ 0μ λ£κ³ μμΌμ΄ μ μ§λ κ²½μ°λ§ 1μ μ€μ μ΅μ’ κ°μμ λΉΌλ λ°©μμΌλ‘ νλλ° μ΄ λ°©λ²λ μ’μ κ² κ°λ€!!
μ΄ λ¬Έμ λ μμ κ°λ μμμ.... λͺ λ² μλν΄λ³΄λ€κ° ꡬκΈμ κ²μν΄μ νμλ€γ γ
< μ°Έκ³ ν λΈλ‘κ·Έ : μ΄κ³³ >
Math.floor(Math.random() * (max - min + 1)) + min;
β μ΅μκ°μμ μ΅λκ° μ¬μ΄μ λλ€ μ μλ₯Ό ꡬνλ μ (μ΅μκ°, μ΅λκ° λͺ¨λ ν¬ν¨)
Math.floor(Math.random() * (max - min) ) + min;
β μ΅μκ°μμ μ΅λκ° μ¬μ΄μ λλ€ μ μλ₯Ό ꡬνλ μ (μ΅μκ°λ§ ν¬ν¨, μ΅λκ° λ―Έλ§)
Math.floor(Math.random() * 10) + 1; // 1 μμ 10κΉμ§μ μ μλ₯Ό λλ€μΌλ‘ λ°ν
Math.floor(Math.random() * 100) + 1; // 1 μμ 100κΉμ§μ μ μλ₯Ό λλ€μΌλ‘ λ°ν
Math.floor(Math.random() * 10); // 0 μμ 9κΉμ§μ μ μλ₯Ό λλ€μΌλ‘ λ°ν
Math.floor(Math.random() * 11); // 0 μμ 10κΉμ§μ μ μλ₯Ό λλ€μΌλ‘ λ°ν
κ·Έλ₯ νμν λλ§λ€ κ²μν΄μ μ°λκ±Έλ‘.......π