8.JavaScript
44341 ワード
1. Repeat const data = ['1', '2', '3'];
for (let i = 0; i < data.length; ++i) {
console.log(data[i]);
}
for … of
const data = ['1', '2', '3'];
for (let item of data) { // for 반복 시 가져올 아이템을 넣을 변수 of 배열변수
console.log(item);
}
Object.entries(), Object.keys(), Object.values()
const data = ['1', '2', '3'];
for (let i = 0; i < data.length; ++i) {
console.log(data[i]);
}
const data = ['1', '2', '3'];
for (let item of data) { // for 반복 시 가져올 아이템을 넣을 변수 of 배열변수
console.log(item);
}
const data = {
name: "sshin",
age: 20,
brand: "fun-coding";
}
console.log(Object.entries(data));
console.log(Object.keys(data));
console.log(Object.values(data));
for … in
const data = {
name: "sshin",
age: 20,
brand: "fun-coding"
}
for (let key in data) {
// 객체의 키를 반복할 때마다 반환
console.log(key);
}
2. Array
オブジェクトと同様に、配列変数の配列を上書きする新しい配列は少ないため、配列変数を宣言するときにconstが一般的に使用されます.
オブジェクトのように作成
const myArray = new Array();
// 빈 배열을 객체처럼 선언 후, 직접 데이터를 넣어줄 수도 있음
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = "sshin";
console.log(myArray);
splice
配列変数.Splice(削除を開始するインデックス番号、削除を開始するインデックス番号から何個削除するか)const myArray = [1, 2, 'sshin', 100];
myArray.spice(1, 2);
console.log(myArray);
特殊な形式のJavaScript配列
// 중활고는 객체 리터럴을 통한 객체로 인식하며, 객체도 아이템으로 선언 가능
const data = [
{ name: 'sshin', age: 20 },
{ name: 'marvin', age: 40}
];
// 개별 아이템이 객체인 경우, 인덱스 번호로 객체의 프로퍼티 접근 가능
console.log(data);
console.log(data[0].name);
2.2. 複数のアレイ関連関数
push
シナリオの最後にアイテムを追加
pop
アレイの最後のアイテムを返し、アレイから削除します.
shift
配列内の最初の項目を削除し、後続の項目を前に押し出します.
concat
2つの配列を結合const myArray1 = [1, 2];
const myArray2 = ['sshin', 100];
let myArray = myArray1.concat(myArray2);
console.log(myArray);
join
プロジェクト間に文字列を配置し、すべてのプロジェクトを1つの文字列に結合します.let myArray = [1, 2, 'sshin', 100]; // const 불가
myArray = myArray.join('|');
console.log(myArray, typeof myArray);
reverse
配列複写を逆順に配置
関数を呼び出すときに配列を逆順序で返すのではなく、現在の配列を変更します.let myArray = [1, 2, 'sshin']; // const 가능
myArray.reverse();
console.log(myArray);
slice
配列の一部を返す
slice(a,b):a項目インデックスからb-1項目インデックスを抽出するlet myArray = [1, 2, 'sshin', 100];
myArray.slice(0, 1);
console.log(myArray.slice(0, 2));
forEach
置換文を使用して、アレイ内の各エンティティを簡単にインポートできる関数です.let myArray = [1, 2, 'sshin', 100];
myArray.forEach(item => {
console.log(item);
})
map
アレイ内の定義された各関数をエンティティに一括適用することで、新しいアレイを返します.const myArray1 = [1, 2, 5, 10];
const myArray2 = myArray1.map(item => item * 2);
console.log(myArray2);
indexOf
配列で指定したデータが存在するインデックス番号を返します.let myArray = [1, 2, 'sshin', 100];
let idx = myArray.indexOf('sshin');
findIndex
配列内のアイテムがオブジェクトである場合、オブジェクトで指定したデータの位置を検索する方法があります.const myArray = [
{
id: 1,
name: 'sshin'
},
{
id: 2,
name: 'marvin'
}
];
console.log(myArray.indexOf('marvin')); // -1
console.log(myArray.findIndex(item => item.name === 'marvin')); // 1
find
指定したデータを含むオブジェクト自体を返し、指定したデータの場所を返すのではなくconst myArray = [
{
id: 1,
name: 'sshin'
},
{
id: 2,
name: 'marvin'
}
];
console.log(myArray.indexOf('marvin')); // -1
console.log(myArray.findIndex(item => item.name === 'marvin')); // 1
console.log(muArray.find(item => item.name === 'sshin'));
filter
アレイから特定の条件を満たすアイテムのみを抽出let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let even = myArray.filter(item => item % 2 === 0);
console.log(even);
3.特殊文法
こうぞうぶんかいわりあて
const myArray = new Array();
// 빈 배열을 객체처럼 선언 후, 직접 데이터를 넣어줄 수도 있음
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = "sshin";
console.log(myArray);
const myArray = [1, 2, 'sshin', 100];
myArray.spice(1, 2);
console.log(myArray);
// 중활고는 객체 리터럴을 통한 객체로 인식하며, 객체도 아이템으로 선언 가능
const data = [
{ name: 'sshin', age: 20 },
{ name: 'marvin', age: 40}
];
// 개별 아이템이 객체인 경우, 인덱스 번호로 객체의 프로퍼티 접근 가능
console.log(data);
console.log(data[0].name);
const myArray1 = [1, 2];
const myArray2 = ['sshin', 100];
let myArray = myArray1.concat(myArray2);
console.log(myArray);
let myArray = [1, 2, 'sshin', 100]; // const 불가
myArray = myArray.join('|');
console.log(myArray, typeof myArray);
let myArray = [1, 2, 'sshin']; // const 가능
myArray.reverse();
console.log(myArray);
let myArray = [1, 2, 'sshin', 100];
myArray.slice(0, 1);
console.log(myArray.slice(0, 2));
let myArray = [1, 2, 'sshin', 100];
myArray.forEach(item => {
console.log(item);
})
const myArray1 = [1, 2, 5, 10];
const myArray2 = myArray1.map(item => item * 2);
console.log(myArray2);
let myArray = [1, 2, 'sshin', 100];
let idx = myArray.indexOf('sshin');
const myArray = [
{
id: 1,
name: 'sshin'
},
{
id: 2,
name: 'marvin'
}
];
console.log(myArray.indexOf('marvin')); // -1
console.log(myArray.findIndex(item => item.name === 'marvin')); // 1
const myArray = [
{
id: 1,
name: 'sshin'
},
{
id: 2,
name: 'marvin'
}
];
console.log(myArray.indexOf('marvin')); // -1
console.log(myArray.findIndex(item => item.name === 'marvin')); // 1
console.log(muArray.find(item => item.name === 'sshin'));
let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let even = myArray.filter(item => item % 2 === 0);
console.log(even);
こうぞうぶんかいわりあて
let data = {
name: 'sshin',
age: 20
};
let { age, name } = data;
// 동일한 프로퍼티 명을 사용해야 해당 프로퍼티에 맞는 값이 대입됨
console.log(name, age);
// 프로퍼티명과 다른 변수명을 사용하고자 하는 경우, 대입할 프로퍼티명: 다른 변수명 의 형태로 사용해야 함
let { name: myName, age: myAge } = data;
console.log(myName, myAge);
// 꼭 객체의 모든 프로퍼티를 가져올 필요는 없고, 객체의 프로퍼티중 가져오고 싶은 데이터만 선택적으로 가져올 수 있음
let { name: myName2 } = data;
console.log(myName2);
// 가져올 프로퍼티가 정의되어 있지 않을 경우에는 디폴트 값으로 대입하게 할 수 있음
let data = {
name: 'sshin',
age: 20
};
let { name, hobby = 'coidng' } = data;
console.log(name, hobby);
// 가져올 프로퍼티명을 다른 변수에 저장하되, 해당 프로퍼티명이 객체 안에 없을 경우, 다른 변수에 디폴트 값을 대입하기
let data = {
name: 'sshin',
age: 20
};
let { name, age: myAge=25, hobby='coding'} = data;
console.log(name, myAge, hobby);
わりあてアレイぶんかい
let myArray = [1, 2, 3, 4];
let [first, second, third, fourth] = myArray;
let myArray3 = ['sshin', 'sshin', 'marvin'];
let [value1, , value3] = myArray3;
console.log(value1, value3);
let myArray = ['sshin', 'sshin', 'marvin', 'arthur'];
let [item1, item2, ...item3] = myArray;
console.log(item1);
console.log(item2);
console.log(item3);
let myArray1 = [10, 20];
let [item1, item2=10, item3=20] = myArray1;
console.log(item1, item2, item3);
変数値の交換
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b);
関数の戻りに複数のデータを渡す
function getData() {
return [10, 20];
}
let [a, b] = getData();
console.log(a, b);
文字列を分割し、各変数に代入()
区別するパラメータを明示的に挿入する必要があります
let data = 'sungwoo shin,sshin'
console.log(data.split(' '));
console.log(data.split(','));
let data = 'sungwoo shin';
let [givenName, lastName] = data.split(' ');
console.log(givenName, lastName);
Restパラメータ
function getData(a, ...rest) {
console.log(a);
console.log(rest);
console.log(Array.isArray(rest));
}
getData(10, 20, 30, 40, 50, 60);
function getData(...rest, a, b); // error
Spreadパラメータ
iterable
リピート可能オブジェクト配列、文字列など
let myArray = [1, 2, 3];
console.log(...myArray);
function func(a, b, c) {
console.log(a);
console.log(b);
console.log(c);
}
const data = [1, 2, 3];
func(...data);
const myArray1 = [1, 2, 3];
const myArray2 = [...myArray1, 4, 5, 6];
console.log(myArray2);
Reference
この問題について(8.JavaScript), 我々は、より多くの情報をここで見つけました https://velog.io/@24siefil/8.-JavaScript-VanillaJSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol