[Day4] JS 4 [11/23]
js ๋ฌธ์์ด : ๊ฒ์
๋ฌธ์์ด ์ผ์น
let str = "์๋
ํ์ธ์, ํ๊ธธ๋ ์
๋๋ค. - ํ๊ธธ๋ ์ -";
console.log( str.indexOf("ํ๊ธธ๋", 0) ); // 7
console.log( str.indexOf("ํ๊ธธ๋") ); // 7
//console.log( str.lastIndexOf("ํ๊ธธ๋", from) ); // 7
console.log( str.lastIndexOf("ํ๊ธธ๋") ); // 18
// ์ฐพ๋ ๋ฌธ์์ด์ด ์๋ ๊ฒฝ์ฐ : -1 ๋ฐํ
// indexOf(), lastIndexOf()์ search()์ ์ฐจ์ด์ : ์ ๊ทํํ์
console.log( str.search(/ํ๊ธธ๋/) ); // 7
console.log( str.match("๊น๊ธฐ์") ); // ์ผ์นํ๋ ๋ฌธ์์ด์ด ์๋ ๊ฒฝ์ฐ : null ๋ฐํ
console.log( str.match(/ํ๊ธธ๋/ig) );
// alert( typeof str.match(/ํ๊ธธ๋/ig) ); // object ๋ฐฐ์ด
// ES 2020 ์๋ก ์ถ๊ฐ๋ ๋ฉ์๋
//matchAll() ์ผ์นํ๋ ๊ฒฐ๊ณผ๋ฅผ ํฌํจํ๋ ๋ฐ๋ณต์(iterator)๋ฅผ ๋ฐํํ๋ ํจ์
const iterator = str.matchAll( /ํ๊ธธ๋/g );
// ์๋ฐ : console.log( Arrays.toString( ๋ฐฐ์ด๋ช
) )
console.log( Array.from( iterator ) );
// ES6 ์๋ก ์ถ๊ฐ๋ ๋ฉ์๋
// IE ์ง์๋์ง ์๋๋ค.
// ์ผ์นํ๋ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋์ง ์ฌ๋ถ๋ฅผ boolean ํ์ผ๋ก ๋ฐํ.
console.log( str.includes("ํ๊ธธ๋") ); // true
var url = "www.sist.co.kr";
// ES6 ์๋ก ์ถ๊ฐ๋ ๋ฉ์๋
// http:// ๋ฌธ์์ด๋ก ์์
// ?? ๋ฌธ์์ด๋ก ๋๋๋
console.log( url.startsWith( "http://") ); // false
console.log( url.endsWith( "co.kr") ); // true
์ด์ค์ผ์ดํ๋ฌธ์
let text = "he\'s ~~";
//let text = 'he\'s ~~'; // ๋ฌธ์์ด ๋ด๋ถ์ ' ํ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํด์ผ ๋๋ค๋ฉด
-๋ฌธ์์ด ๋ณ์ ์ค๊ฐ์ ๋ค์ด๊ฐ๊ฒ-
var name = "ํ๊ธธ๋";
var age = 20;
// ์ด๋ฆ์ 'ํ๊ธธ๋'์ด๊ณ , ๋์ด๋ 20์ด์ด๋ค.
// var result = "์ด๋ฆ์ '"+name+"'์ด๊ณ , ๋์ด๋ "+age+"์ด์ด๋ค.";
// Java String.format( "์ด๋ฆ์ '%s'์ด๊ณ , ๋์ด๋ %d์ด์ด๋ค." , name, age);
// printf( format, name, age);
// js ์์๋ ๋ณ์๋ฅผ ์ฌ์ฉํด์ ์ถ๋ ฅํ ์ ์๋ค์...
// ` ๋ฐฑํฑ๋ฌธ์
var result = ` > ์ด๋ฆ์ '${ name }'์ด๊ณ , ๋์ด๋ ${ age }์ด์ด๋ค. `;
// console.log( result );
-foreach-
let header = "TEST";
let html = `<h3>${ header}</h3>`;
let tags = ["javascript", "jquery", "java"]; // js ๋ฐฐ์ด
// let tags = {}; // js ๊ฐ์ฒด
// java foreach๋ฌธ
// js forin ๋ฌธ
// js forof ๋ฌธ
for (let tag of tags) {
html += `<li>${ tag }</li>`;
} // for
$("#demo").html( html );
js ์ซ์ (Number)
- js ์ซ์ - ( X int, short, long, float, double )
- ์ ์, ์ค์ ๊ตฌ๋ถ์์ด ์ ์ฅ. - number ํ์
- js ๋ ํญ์ 64๋นํธ ์ ์ฅ
var n = 3;
var n = 3.14;
var n = 3e+5;
// 3 + 5 8
// "3" + 5 "35"
// 3 + "5" "35"
// 1 + 3 + "5" "45"
// ์ซ์ => ๋ฌธ์์ด ํ๋ณํ
// 7 + "" "7"
// + ๋ง์
, ๋ฌธ์์ด ์ฐ๊ฒฐ์ฐ์ฐ์.
// + ์ ์ธํ ์ซ์ ๊ด๋ จ ์ฐ์ฐ์๋ ์๋์ผ๋ก ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ๋ ค๊ณ ํ๋ค.
var a = "100";
var b = "10";
console.log( a - b ); // 100/10 = 10
console.log( a * b ); // 100/10 = 10
console.log( a / b ); // 100/10 = 10
-NaN (not a number) ๋ฆฌํฐ๋ด-
// console.log( 100 / "apple" ); // NaN ( Not a Number) ๋ฆฌํฐ๋ด
// console.log( typeof NaN ); // number
console.log( 100 / 0 ); // Infinity
console.log( 100 % 0 ); // NaN
// isNaN()
console.log( isNaN( 100 % 0 )); // true
console.log( isNaN( "100" )); // false
console.log( isNaN( "100a" )); // true
// [๋ฌธ์ ] ์
๋ ฅ๋ฐ์ ๊ฐ์ด ์ซ์๋ง ์
๋ ฅํ๋ ์ฒดํฌํ๊ณ ์ถ๋ค - isNaN()
console.log( NaN + 5 ); // NaN
console.log( NaN + "5" ); // "NaN5"
-์ง์-
// js์์ Ox๋ฅผ ๋ถ์ด๋ฉด 16์ง์๋ก ํด์ํ๋ค.
let x = 0xFF;
// js์์ O๋ฅผ ๋ถ์ด๋ฉด 8์ง์๋ก ํด์ํ๋ค.
let y = 07;
let z = 10;
console.log( z.toString(2) ); // "1010"
console.log( z.toString(8) ); // "12"
console.log( z.toString(16) ); // "a"
-์ซ์ ๊ฐ์ฒด- ์ฑ๋ฅ X
// var num = 123; // number
var num = new Number(123); // object X ์ฑ๋ฅ ๋จ์ด์ง๋ค.
// Java
//String name = "ํ๊ธธ๋";
//String name = new String("ํ๊ธธ๋");
-64๋นํธ ์ซ์-
// js ์ซ์ : 64๋นํธ
let xx = BigInt(์ซ์);
js ์ซ์ ํจ์
1. toString() 7.toString() "7"
var n = 7 + ""; // "7"
var m = 10;
m.toString(); // "10"
2. toExponential() ๋ฐ์ฌ๋ฆผ๋๊ณ + ์ง์ ํ๊ธฐ๋ฒ + "" ๋ฌธ์์ด ๋ณํ
// toExponential() ๋ฐ์ฌ๋ฆผ + ์ง์ํํ + ๋ฌธ์์ด ๋ฐํ.
var n = 9.656;
// 2,4,6 ๋งค๊ฐ๋ณ์๋ ์์์ ๋ค์ ๋ฌธ์์ ์๋ฅผ ์ ์ํ๋ค.
// ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ฐ์ฌ๋ฆผํ์ง ์๋๋ค.
//console.log( n.toExponential(2) ); // 9.66e+0
//console.log( n.toExponential(4) ); // 9.6560e+0
//console.log( n.toExponential(6) ); // 9.656000e+0
3. toFixed() ๋ฐ์ฌ๋ฆผ + "" ๋ฌธ์์ด ๋ณํ
console.log( n.toFixed(0) ); // 10
console.log( n.toFixed(2) ); // 9.66 ์ง์ํํ X
console.log( n.toFixed(4) ); // 9.6560 ์ง์ํํ X
console.log( n.toFixed(6) ); // 9.656000
4. toPrecision() ์ง์ ๋ ๊ธธ์ด๋ก ์์ฑ๋ ์ซ์๋ก ๋ฐํ.
console.log( n.toPrecision() ); // 9.656
console.log( n.toPrecision(2) ); // 9.7
console.log( n.toPrecision(4) ); // 9.656
console.log( n.toPrecision(6) ); // 9.65600
5. valueOf() X ์ซ์ ๋ณํ
6. Number()
// Number() ๋ฉ์๋ : js ๋ณ์ -> ์ซ์ ๋ณํ
// ์ซ์ ๋ณํํ ์ ์์ผ๋ฉด NaN ๋ฐํ.
// ๋ ์ง๋ฅผ ์ซ์๋ก ๋ณํํ ์ ๋ ์๋ค.
console.log( Number(true) ); // boolean(true) -> 1
console.log( Number(false) ); // false -> 0
console.log( Number("10") ); // "10" -> 10
console.log( Number("10.33") ); // "10.33" -> 10.33
console.log( Number(" 10") ); // " 10" -> 10
console.log( Number("10 ") ); // "10 " -> 10
console.log( Number("admin") ); // NaN
console.log( Number("10 33") ); // NaN
console.log( Number("10,33") ); // NaN
// ๋ ์ง๋ฅผ ์ซ์๋ก ๋ณํํ ์ ๋ ์๋ค.
console.log( Number("2022-01-22") ); // NaN
// 1970.1.1 ์ดํ ms๊ฐ์ ๋ฐํ
console.log( Number( new Date( "2022-01-22") ) ); // 1642809600000
7. parseInt()
// parseInt() ๋ฉ์๋ : ๋ฌธ์์ด์ ๊ตฌ๋ฌธ ๋ถ์ํด์ ์ ์ ๋ฐํ
console.log( parseInt( "10" ) ); // "10" -> 10
console.log( parseInt( "-10" ) ); // "-10" -> -10
console.log( parseInt( "10.33" ) ); // "10.33" -> 10
// Number() NaN
console.log( parseInt( "10 33" ) ); // "10 33" -> 10
console.log( parseInt( "10,33" ) ); // "10,33" -> 10
console.log( parseInt( "10abcde" ) ); // "10adbcde" -> 10
console.log( parseInt( "year 100" ) ); // "year 100"-> NaN
console.log( parseInt( "100 year" ) ); // "year 100"-> 100
8. parseFloat()
// parseFloat() ๋ฉ์๋ : ๋ฌธ์์ด์ ๊ตฌ๋ฌธ ๋ถ์ํด์ ์ซ์( ์ ์ , ์ค์ ) ๋ฐํ
console.log( parseFloat( "10" ) ); // "10" -> 10
console.log( parseFloat( "-10" ) ); // "-10" -> -10
console.log( parseFloat( "10.33" ) ); // "10.33" -> 10.33
// Number() NaN
console.log( parseFloat( "10 33" ) ); // "10 33" -> 10
console.log( parseFloat( "10,33" ) ); // "10,33" -> 10
console.log( parseFloat( "10abcde" ) ); // "10adbcde" -> 10
console.log( parseFloat( "year 100" ) ); // "year 100"-> NaN
console.log( parseFloat( "100 year" ) ); // "year 100"-> 100
9. isInteger()
var n = 10;
console.log( Number.isInteger( n ) ); // true
n = 10.33;
console.log( Number.isInteger( n ) ); // false
js ๋ฐฐ์ด
1. ๋ฐฐ์ด ๊ฐ๋
2. ๋ฐฐ์ด ์ฌ์ฉ ๋ชฉ์
3. ๋ฐฐ์ด ์ ์ธ ํ์ X
[js] ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ
var cars = [];
cars[0] = "BMW";
cars[1] = "KIA";
const cars = [
"BMW"
, "KIA"
, "Volvo"
];
[js] ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ
const cars = new Array();
const cars = new Array("BMW", , "KIA" , "Volvo");
-๋ฐฐ์ด์์ ์ ๊ทผ-
// int [] m = {1,3,5,4,2};
// m[2]
// m[2] = 100;
const m = [1,3,5,4,2];
// (1) 2๋ฒ์งธ ์์...
// console.log( m[2] ); // 5
// (2) 2๋ฒ์งธ ์์์ ๊ฐ์ 100์ผ๋ก ๋ณ๊ฒฝ
m[2] = 100;
console.log( m[2] ); // 100
// (3) ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ถ๋ ฅ.
// console.log( m ); // [1, 3, 100, 4, 2]
// (4) ๋ฐฐ์ด์ ํ์
// js์์ ๋ฐฐ์ด๋ ๊ฐ์ฒด๋ก ์ธ์ํ๋ค.
console.log( typeof m ); // object
// (5) ์์ ์ถ๊ฐ 55
// ๋ฐฐ์ด๋ช
.length == ๋ฐฐ์ดํฌ๊ธฐ
m[m.length] = 55;
m[m.length] = 65;
m[m.length] = 75;
console.log( m );
// (7) ๋ฐฐ์ด ์ ๋ ฌ
m.sort();
console.log( m ); // 1, 100, 2,3,4,5 ๋ฌธ์์ด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
// (8) ๋ง์ง๋ง ์์ ์ป์ด์ค๊ธฐ.
// m[m.length-1]
// (9) ๋ชจ๋ ๋ฐฐ์ด์ ์์ ์ถ๋ ฅ.
for (var i = 0; i < m.length; i++) {
console.log( i +" : " + m[i] );
}
// (10)
m[m.length] = "Benz"; // ๋ฌธ์
m[m.length] = Date.now; // ๋ ์ง
m[m.length] = function (){ }; // ํจ์
m[m.length] = [1,2,3]; // ๋ฐฐ์ด
-๋ฐฐ์ด๊ณผ ๊ฐ์ฒด ์ฐจ์ด-
const person = ["admin", 20];
var name = person[0];
var age = person[1];
// js object
const person = {
name:"admin" ,
age : 20
};
person.name;
person["name"];
๋ฐฐ์ด ๋ฉ์๋
- ๊ธฐ๋ฅ, ๋ฆฌํด๊ฐ, ๋งค๊ฐ๋ณ์ ( 3๊ฐ์ง )
-๋ฐฐ์ดํฌ๊ธฐ, foreach, push, isArray-
var fruits = ["Banana", "Orange", "Apple", "Mango"];
// console.log( fruits.length ); // ๋ฐฐ์ด ํฌ๊ธฐ 4
/* [1๋ฒ]
var text = "<ul>";
for (var i = 0; i < fruits.length; i++) {
text += "<li>" + fruits[i] + "</li>";
} // for
text += "</ul>";
*/
// [2๋ฒ] Array.forEach()
var text = "<ol>";
fruits.forEach(function(elt, i, array) {
// console.log( elt + " / " + i + " / " + array)
text += "<li>" + elt + "</li>";
})
text += "</ol>";
$("#demo").html( text );
// 1. ๋ฐฐ์ด ์์ ์ถ๊ฐ : push()
// fruits[fruits.length] = "xxx"; X
fruits.push("Lemon");
// 2. ํ์
์ด ๋ฐฐ์ด ํ์ธ : ES5 Array.isArray()
// console.log( typeof fruits ); // object
// console.log( Array.isArray( fruits ) ); // true
// instanceof ์ฐ์ฐ์.
// console.log( " > " + fruits instanceof Array ); // true
-toString, join-
// [ ๋ฐฐ์ด -> ๋ฌธ์์ด ๋ณํ toString() ]
// ์ฒซ ๋ฒ์งธ.
// "Banana,Orange,Apple,Mango,Lemon"
// ๊ฐ ์์๊ฐ ์ฝค๋ง(์ผํ)๋ก ๊ตฌ๋ถ๋์ด ๋ฌธ์์ด๋ก ๋ณํ.
// console.log( fruits.toString() );
// ๋ ๋ฒ์งธ - join() ***
// "Banana - Orange - Apple - Mango - Lemon" seperator (๊ตฌ๋ถ์)
// console.log( fruits.join(" - ") );
// Banana</li><li>Orange</li><li>Apple</li><li>Mango</li><li>Lemon
// console.log( fruits.join("</li><li>") );
var text = "<ol><li>";
text += fruits.join("</li><li>");
text += "</li></ol>";
$("#demo").html( text );
-push, pop-
// ๋ฐฐ์ด์ ๊ฐ์ฅ ๋ง์ง๋ง ์์์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐ - ๋ฆฌํด๊ฐ ๋ฐฐ์ด์ ํฌ๊ธฐ push()
console.log( fruits.push("XXX") ); // 6
console.log( fruits.toString() );
// ๋ฐฐ์ด์ ๊ฐ์ฅ ๋ง์ง๋ง ์์๋ฅผ ์ป์ด์ค๊ธฐ - pop() + ๊ฐ์ฅ ๋ง์ง๋ง ์์ ์ ๊ฑฐ.
// console.log( fruits[fruits.length - 1] );
console.log( fruits.pop() );
console.log( fruits.toString() );
sort()
shift()
unshift()
concat()
splice()
-shift, delete-
var m = [3,5,2,4,1];
console.log( m.toString() );
// [ shift() ] >> [<<1 ] >>> ์๋ฆฌ ์ด๋
// ์ฒซ ๋ฒ์งธ ์์๋ ์ ๊ฑฐ๋๊ณ ๋๋จธ์ง ์์๋ ์ธ๋ฑ์ค -1 ์ด๋
// 0[3] 1[5] ~ 4[1]
// 0[5] ~ 3[1]
// console.log( m.shift() ); // 3 ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๋ฐํ
// [ unshift() ]
// m.push(100) ๋ง์ง๋ง ์์ ์ถ๊ฐ
// m.unshift(100); // ์ฒซ ๋ฒ์งธ ์์์ ์ถ๊ฐ + ์์ ๋ค๋ก ์ธ๋ฑ์ค + 1 ์ด๋
// ๋ฐฐ์ด ์์ ์ ๊ฑฐ(์ญ์ )
// shift() ์ฒซ ๋ฒ์งธ ์์ ์ ๊ฑฐ
// pop() ๋ง์ง๋ง ๋ฒ์งธ ์์ ์ ๊ฑฐ
// m[1] = -1; ์ ๊ฑฐํ๋ค๋ ์๋ฏธ๋ก ํน์ ๊ฐ์ ์์ .
// 3, undefined ,2,4,1
// delete m[1];
var n = [100,200,300];
var s = [7,8,9];
// 4. m ๋ฐฐ์ด๊ณผ n ๋ฐฐ์ด์ ๋ณํฉ(์ฐ๊ฒฐ)ํด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ : concat()
// 3,5,2,4,1,100,200,300
var mns = m.concat(n, s);
// console.log( mns.toString() );
-splice-
// 3,5 ,2,4,1
// 2(100),3(200)
// 3,5,100,200,2,4,1
// ๋ฐฐ์ด์ ์ ํญ๋ชฉ์ ์ฝ์
// unshift() : ์ฒซ ์์ ์ถ๊ฐ
// push() : ๋ง์ง๋ง ์์ ์ถ๊ฐ
// splice() ์ค๊ฐ ์์ 1๊ฐ ์ด์ ์ถ๊ฐ(์ฝ์
)
// ์คํ๋ผ์ด์ค() == ์ฌ์ ์ ์ธ ์๋ฏธ ( ์๋ค , ๋ถ์ด๋ค. )
// pos ์ฝ์
์์น
// amount ์ ๊ฑฐ ์
// newelt ์๋ก์ด ์์
m.splice(pos, amount, newelt)
// 3,5,100,200,2,4,1
m.splice(2, 0, 100, 200);
// 3,5,2,4,1
// 3,5,100,200,1
m.splice(2, 2, 100, 200);
// 3,5,[2,4],1 2๋ฒ์งธ ๋ถํฐ 2๊ฐ์ ์์ ์ ๊ฑฐ
// 3,5,1
m.splice(2, 2);
console.log( m.toString() );
-slice, splice-
console.log( m );
// m.splice() ์๋ค.
// m.slice() ์กฐ๊ฐ๋ด๋ค.
// var n = m.slice(1, 3); // 1 <= < 3
var n = m.slice(1); // 1 <= to ๋ง์ง๋ง ์์
console.log( n ) ; // [5,2]
sort() ๊ธฐ๋ณธ asc
reverse() ์์ ์์ ๋ฐ๊พธ๋ ํจ์
let fruits = ["Banana", "Orange", "Apple", "Mango"];
// "Banana,Orange,Apple,Mango"
console.log( fruits.toString() );
// 1. ๋ฐฐ์ด ์ ๋ ฌ + asc
// fruits.sort();
// 2. ๋ฐฐ์ด ์ ๋ ฌ + desc
// fruits.sort(function(a, b) { })
// ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ๋๋ก ๋ฐ๊พธ๋ ํจ์
// "Mango,Apple,Orange,Banana"
// "Orange,Mango,Banana,Apple" ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
fruits.sort()
fruits.reverse();
// [A]pple,[B]anana,[M]ango,[O]range ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
console.log( fruits.toString() );
// ์ซ์ ๋ฐฐ์ด ์ ์ธ
var m = [3, 5, 10, 2, 4, 1 , 29];
console.log( m.toString() ) ; // 3,5,10,2,4,1,29
// m.sort(); ์ด์ ? ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ์ ๋ ฌ..
// 1,2,3,4,5,10,29 ์ค๋ฆ์ฐจ์
/*
m.sort(function(a, b) {
// return a - b; // ์์, ์์ , 0 ์ค๋ฆ์ฐจ์
return b - a; // ๋ด๋ฆผ์ฐจ์
});
*/
// ๋๋ค์
m.sort( (a, b) => a-b );
console.log( m.toString() ) ; // "1","10","2","29","3","4","5"
-๋ฐฐ์ด ์๊ธฐ(Math.random)
// ๋ฌด์์๋ก ๋ฐฐ์ด ์๊ธฐ.
// js 0.0 <= Math.random() ์ค์ < 1
m.sort( () => 0.5 - Math.random() );
console.log( m.toString() ) ;
- js : Math ๊ฐ์ฒด + random() ๋ฉ์๋
var max = Math.max(...m) ; // 29
// [ apply() ํจ์ ? ] call() ๋น๊ตํด์ ์ค๋ช
...
max = Math.max.apply(null, m); // 29
console.log( max );
var min = Math.min(...m) ; // 1
min = Math.min.apply(null, m);
console.log( min );
-๊ฐ์ฒด ๋ฐฐ์ด-
// ๊ฐ์ฒด ๋ฐฐ์ด ์ ์ธ
var persons = [
{name:"ํ๊ธธ๋", age:20},
{name:"๋ฐ์๋ฆฐ",age:25},
{name:"์ด์์ธ",age:18}
];
// 1. ๋์ด ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ ์ถ๋ ฅ.
//console.log( persons[0].age );
//console.log( persons[0]["age"] );
persons.sort(function( o1, o2) {
return o1.age - o2.age;
})
// console.log( persons.toString() );
// console.log( persons );
// 2. ์ด๋ฆ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ..
console.log("===2===");
//console.log( "์ด์์ธ" - "ํ๊ธธ๋" ); // NaN
//console.log( "์ด์์ธ" > "ํ๊ธธ๋" ); // false
//console.log( Number( "์ด์์ธ" > "ํ๊ธธ๋" ) ); // false
persons.sort(function( o1, o2) {
if( o1.name > o2.name ) return 1;
else if( o1.name < o2.name ) return -1;
else 0;
})
console.log( persons );
๋ฐฐ์ด ๋ฉ์๋
1. forEach()
๋ฐฐ์ด์ ๊ฐ ์์ ๋ง๋ค ํ ๋ฒ์ฉ ํจ์๋ฅผ ํธ์ถํด์ ๋ฐ๋ณต ์ฒ๋ฆฌ.
2. map()
๋ฐฐ์ด์ ๊ฐ ์์์ ํจ์๋ฅผ ์คํํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ํจ์
3. filter()
ํํฐ๋ง๋ ์์๋ง์ ๊ฐ๋ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ํจ์
4. reduce()
๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์คํํ๋ ํจ์์์ ๋จ์ผ ๊ฐ์ ์์ฑํ๋ ํจ์
5. every()
๋ฐฐ์ด์ ๋ชจ๋ ์์๊ฐ ํ ์คํธ๋ฅผ ํต๊ณผํ๋์ง ์ฌ๋ถ ํ์ธํ๋ ํจ์
6. some()
๋ฐฐ์ด์ ์ผ๋ถ ์์๋ผ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ฉด true/false ๋ฐํํ๋ ํจ์
7. indexOf() / lastIndexOf()
๋ฐฐ์ด์์ ์์์ ๊ฐ์ ๊ฒ์ํ๊ณ ๊ฒ์ํ ์์์ ์ธ๋ฑ์ค๊ฐ์ ๋ฐํํ๋ ํจ์ ( - 1 )
8. find() / findIndex()
์์๊ฐ ์์ ์ธ๋ฑ์ค
5 1
var m = [3,5,2,4,1];
์ฒซ ๋ฒ์งธ 5๋ณด๋ค ๊ฐ๊ฑฐ๋ ํฐ ์๋ฅผ ์ฐพ๊ณ ์ถ๋ค.
var num = m.find( function (elt, i, array){
return elt >=5;
} )
9. from()
๊ธธ์ด(length) ์์ฑ์ด ์๋ ๊ฐ์ฒด ๋๋ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด์์ -> ๋ฐฐ์ด ๋ฐํํ๋ ํจ์
๋ฌธ์์ด
๋ฐฐ์ด
๋ฑ๋ฑ
10. keys()
๋ฐฐ์ด์ ํค(์ธ๋ฑ์ค๊ฐ)๊ฐ ์๋ iterator ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ํจ์
entries() key + value ํ์
๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ ์์์ ๊ฐ
[ 0 , 3 ]
<script>
var m = [3,5,2,4,1];
// var ir = m.keys();
var ir = m.entries(); // ์ํธ๋ฆฌ = key + value ํ์
for (let n of ir) { // index 0/1/2/3/4 ์ธ๋ฑ์ค๊ฐ
console.log( n[1] );
}
/* JAVA
while( ir.hasNext()){
int n = ir.next();
}
*/
</script>
<script>
/*
var str = "์๋
ํ์ธ์.";
// console.log( str.length ); // 6
var arr = Array.from( str );
console.log( typeof arr); // object
console.log( arr.toString() ); // "์,๋
,ํ,์ธ,์,."
*/
</script>
<script>
/*
var m = [3,5,2,4,1];
// 1. forEach()
m.forEach(function(elt, i, array) {
console.log( elt + " / " + i );
});
*/
</script>
<script>
/*
// 2. map()
var m = [3,5,2,4,1];
console.log( m.toString() ); // 3,5,2,4,1
// ๊ฐ ์์์ ๊ฐ์ 2๋ฅผ ๊ณฑํด์ ์๋ก์ด ๋ฐฐ์ด ์์ฑ.
var newm = [];
for (var i = 0; i < m.length; i++) {
newm.push( m[i] * 2 );
};
// map() ์ฌ์ฉ
var newm = m.map(function(elt, i, array) {
return elt *3 ;
});
console.log( newm.toString() ); // 9,15,6,12,3
*/
</script>
<script>
/*
// 3. filter()
var m = [];
for (var i = 0; i < 10; i++) {
m.push( parseInt( Math.random() * 100 ) );
}
console.log( m.toString() );
// 50๋ณด๋ค ํฐ ๊ฐ์ -> ์๋ก์ด ๋ฐฐ์ด ์์ฑ
var newm = [];
m.forEach(function(elt, i, array) {
if( elt >= 50 ) newm.push( elt );
})
console.log( newm.toString() );
var newm = m.filter(function(elt, i, array) {
return elt >= 50 ;
});
console.log( newm.toString() );
*/
</script>
<script>
/*
// 4. reduce()
var m = [3,5,2,4,1];
// ๋ฐฐ์ด์ ์ดํฉ์ ๊ตฌํด์ ์ถ๋ ฅ.
var sum = 0;
for (var i = 0; i < m.length; i++) {
sum += m[i];
console.log( m[i] +"+" )
}
console.log( sum );
// m.reduceRight( ) ์ค๋ฅธ์ชฝ -> ์ผ์ชฝ
var sum = m.reduce(function(sum, elt, i, array) {
return sum + elt;
} )
console.log( sum ); // 115
*/
</script>
<script>
// ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ํ
var m = [78, 60, 35, 89, 76];
// ๊ณผ๋ฝ. ์ฒดํฌ
/*
for (var i = 0; i < m.length; i++) {
if( m[i] < 40 ){ // 40 ๋ฏธ๋ง
console.log("๊ณผ๋ฝ")
}
}
*/
var result = m.every(function(elt, i, array) {
return elt >=40 ;
})
console.log( result ); // false
</script>
arguments ์ปฌ๋ ์ , js ๋ ์ง
[ js ๋ ์ง ๊ฐ์ฒด : Date ]
1. ์๋ก์ด ๋ ์ง ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ 4๊ฐ์ง ๋ฐฉ๋ฒ
(1) new Date() : ํ์ฌ ์์คํ ์ ๋ ์ง + ์๊ฐ.
(2) new Date(y, m, d, h, m, s, ms)
(3) new Date( ms ) 1970.1.1 00:00:00.000
(4) new Date( string date )
// [ js ๋ ์ง ๊ฐ์ฒด : Date ]
// (1) new Date() : ํ์ฌ ์์คํ
์ ๋ ์ง + ์๊ฐ.
var now = new Date();
// Wed Nov 23 2022 16:12:30 GMT+0900 (ํ๊ตญ ํ์ค์)
$("#demo").html( now );
// (2) new Date(y, m, d, h, m, s, ms)
// var d = new Date(2018 , 11-1, 23); // 11์
var d = new Date(2018 , 11-1 ); // ๋ ์ง ์๋ต 1์ผ
$("#demo").html( d );
// (3) new Date( ms ) 1970.1.1 00:00:00.000
var ms = Number(new Date());
// console.log( ms ); 1669187859080
var d = new Date( ms );
// Wed Nov 23 2022 16:18:18 GMT+0900 (ํ๊ตญ ํ์ค์)
$("#demo").html( d );
// (4) new Date( string date )
Sun Nov 25 2018 09:00:00 GMT+0900 (ํ๊ตญ ํ์ค์)
var d = new Date("2018-11-25");
var d = new Date("2018-11"); // 1์ผ
var d = new Date("2018"); // 1์ 1์ผ
$("#demo").html( d );
// GMT == ๊ทธ๋ฆฌ๋์น ํ์ค์
// UTC == ํ์ ์ธ๊ณ์
// MM/DD/YYYY
// Wed Mar 25 2015 00:00:00 GMT+0900 (ํ๊ตญ ํ์ค์)
var d = new Date("03/25/2015");
var d = Date.parse("03/25/2015");
d.toString() ; // ๋ ์ง -> ๋ฌธ์์ด ๋ณํ
$("#demo").html( d.toDateString() ); // "Wed Mar 25 2015"
$("#demo").html( d.toUTCString() ); // "Tue, 24 Mar 2015 15:00:00 GMT"
$("#demo").html( d.toISOString() ); // "2015-03-24T15:00:00.000Z"
$("#demo").html( d.toLocaleDateString() ); // 2015. 3. 25.
$("#demo").html( d.toLocaleTimeString() ); // ์ค์ 12:00:00
function sum(a, b, c){
console.log(" >> sum(3) ... " );
}
function sum(){
// forms ์ปฌ๋ ์
// options ์ปฌ๋ ์
// arguments ์ปฌ๋ ์
: ์ธ์(๋งค๊ฐ๋ณ์) ์ปฌ๋ ์
๊ฐ์ฒด
// ๋ฑ๋ฑ links, images ์ปฌ๋ ์
... ~
// console.log( arguments.length );
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
// sum();
console.log( sum(1, 2) ); // 3
console.log( sum(1, 2, 3) ); // 6
console.log( sum(1, 2, 3, 4) ); // 10
<script>
var now = new Date();
// ๋
๋
console.log( now.getFullYear() ); // 2022
// ์
console.log( now.getMonth() + 1 ); // 11
// ์ผ
console.log( now.getDate() ); // 23
// ์
console.log( now.getHours() ); // 16
// ๋ถ
console.log( now.getMinutes() ); // 16
// ์ด
console.log( now.getSeconds() ); // 16
// ๋ฐ๋ฆฌ์ธ์ปจ๋
console.log( now.getMilliseconds() ); // 16
// ์์ผ
console.log( "์ผ์ํ์๋ชฉ๊ธํ ".charAt( now.getDay() ) ); // ์ผ(0) 1(์) 2(ํ) 3(์์์ผ) ~ 6(ํ )
// ๋ ์ง ์ค์
/*
now.setFullYear(year);
now.setMonth(month) // 1 ๋ฌ
now.setDate(date);
now.setHours(hour);
now.setXXX();
*/
</script>
<script>
// getTime() : 1669188846578 ( 1970.1.1 00:00:00.000 )
var ms = now.getTime();
alert( ms );
</script>
html - ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝ
<select onchange="bc_change( this );">
<option>์ ํํ์ธ์.</option>
<option value="white">ํฐ์</option>
<option value="red">๋นจ๊ฐ</option>
<option value="green">๋
น์</option>
<option value="blue">ํ๋์</option>
</select>
function bc_change( selTag ){
/*
// document.querySelector("select");
var idx = selTag.selectedIndex; // 0 ~ 4
var op = selTag.options[idx];
var text = op.text;
var value = op.value;
*/
// alert( selTag.value ); == $("select").val()
document.bgColor = selTag.value;
}
<script>
var colors = ["white", "red", "green" , "blue"];
var $sel = $("<select></select>");
colors.forEach(function(elt, i, array) {
$sel.append( $("<option>"+ elt +"</option>") )
});
$sel.change(function() {
document.bgColor = $(this).val();
// $(this option:selected).val()
});
$sel.appendTo( $("body") );
</script>
์ต๊ทผ๋๊ธ