[D+98]航海9911第(2)方法整理
9136 ワード
1週間のアルゴリズム駐車を終了しました.
一昨日の模擬試験では、Repleitで問題を解く方法を少し迷ったので自信が落ちて(コンソールの下でもう少し注文すればいいのですが、使わないのでその簡単ささえわからない)、今日試験が終わってから、よくできても悪くてもすぐに体が垂れてしまいました.😭 后话アルゴリズムは私达のクラス全体が合格したニュースをテストします!!すばらしいです!)🎊🎉🎊🎉)
今日は,過去1週間にアルゴリズムを解きながら30問を解く際によく使われた方法を整理する. indexOf
文字列に書き込まれた場所を検索する関数を使用して、特定の文字 を検索します. Math.pow Math.sqrt reverse parseInt戻り整数 sort
アレイ内の要素を適切な位置に揃え、アレイに戻ります.
デフォルトのソート順が文字列のUnicodeコードポイント split
Stringオブジェクトは、指定した区切り文字を使用して複数の文字列に分割されます. Date
1970年1月1日のUTC(協定世界時)の真夜中との時間差をミリ秒で表す整数を含む. filter
指定された関数をテストしたすべての要素を収集し、新しい配列 に戻ります. map
与えられた関数を呼び出した結果をアレイ内の各要素に集約し、新しいアレイ を返します. Math.max
入力値として受け取った0以上の数字のうち最大の数字 を返します.
Math.min()
関数は、指定した数値の最小値を返します.
Math.abs()
指定した数値の絶対値を返します.
xが正または0の場合はxを返し、xが負の場合はxの逆の値、すなわち正を返します.
splice
アレイ内の既存の要素を削除または置換したり、新しい要素を追加したりして、アレイの内容 を変更します. slice
配列の開始から終了(終了を含まない)までの浅いコピーを新しい配列オブジェクトに返します.
元のシナリオは変更されません. reduce
一昨日の模擬試験では、Repleitで問題を解く方法を少し迷ったので自信が落ちて(コンソールの下でもう少し注文すればいいのですが、使わないのでその簡単ささえわからない)、今日試験が終わってから、よくできても悪くてもすぐに体が垂れてしまいました.😭 后话アルゴリズムは私达のクラス全体が合格したニュースをテストします!!すばらしいです!)🎊🎉🎊🎉)
今日は,過去1週間にアルゴリズムを解きながら30問を解く際によく使われた方法を整理する.
文字列に書き込まれた場所を検索する関数を使用して、特定の文字
str.indexOf(찾고자하는 문자열[, 찾기 시작하는 위치를 나타내는 인덱스 값_옵션])
Math.pow(2, 3) // 2의3승
Math.sqrt(9); // 3
|反転アレイ要素const a = [1, 2, 3];
console.log(a); // [1, 2, 3]
a.reverse();
console.log(a); // [3, 2, 1]
👉 예외
let str = parseInt('123가나다') ;
console.log( str ) ;
// 123
let str = parseInt('가나다123') ;
console.log( str ) ;
// NaN
👉 Number와 차이점
let test = '2020년도';
parseInt(test); // 2020
Number(test); // NaN
let test = '10.12345';
parseInt(test); // 10
Number(test); // 10.12345
parseFloat(test); // 10.12345
アレイ内の要素を適切な位置に揃え、アレイに戻ります.
デフォルトのソート順が文字列のUnicodeコードポイント
const months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
console.log(months);
=> ["Dec", "Feb", "Jan", "March"]
const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
=> [1, 100000, 21, 30, 4]
👉 오름차순
function compareNumbers(a, b) {
return a - b;
}
👉 내림차순
function compareNumbers(a, b) {
return b - a;
}
Stringオブジェクトは、指定した区切り文字を使用して複数の文字列に分割されます.
str.split([separator[, limit_옵션]])
var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);
console.log(splits);
=>["Hello", "World.", "How"]
1970年1月1日のUTC(協定世界時)の真夜中との時間差をミリ秒で表す整数を含む.
👉 getMonth() : 월 값을 현지 시간에 맞춰 반환 (월은 0부터 시작)
const moonLanding = new Date('July 20, 69 00:20:18');
console.log(moonLanding.getMonth());
// expected output: 6
👉 getDate() : 주어진 날짜의 현지 시간 기준 일을 반환
const birthday = new Date('August 19, 1975 23:15:30');
const date1 = birthday.getDate();
console.log(date1);
// expected output: 19
👉 getDay() : 주어진 날짜의 현지 시간 기준 요일을 반환 (0은 일요일)
const day1 = birthday.getDay();
// Sunday - Saturday : 0 - 6
console.log(day1);
// expected output: 2
👉 getFullYear() : 주어진 날짜의 현지 시간 기준 연도를 반환
const moonLanding = new Date('July 20, 69 00:20:18');
console.log(moonLanding.getFullYear());
// expected output: 1969
指定された関数をテストしたすべての要素を収集し、新しい配列
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// expected ["exuberant", "destruction", "present"]
与えられた関数を呼び出した結果をアレイ内の各要素に集約し、新しいアレイ
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// [2, 8, 18, 32]
👉 예제1
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots는 [1, 2, 3]
// numbers는 그대로 [1, 4, 9]
👉 예제2
var kvArray = [{key:1, value:10},
{key:2, value:20},
{key:3, value: 30}];
var reformattedArray = kvArray.map(function(obj){
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
});
// reformattedArray는 [{1:10}, {2:20}, {3:30}]
// kvArray는 그대로
// [{key:1, value:10},
// {key:2, value:20},
// {key:3, value: 30}]
入力値として受け取った0以上の数字のうち最大の数字
console.log(Math.max(1, 3, 2));
// expected output: 3
console.log(Math.max(-1, -3, -2));
// expected output: -1
const array1 = [1, 3, 2];
console.log(Math.max(...array1));
// expected output: 3
Math.min()
関数は、指定した数値の最小値を返します.
Math.abs()
指定した数値の絶対値を返します.
xが正または0の場合はxを返し、xが負の場合はxの逆の値、すなわち正を返します.
Math.abs('-1'); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs([2]); // 2
Math.abs([1,2]); // NaN
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(); // NaN
アレイ内の既存の要素を削除または置換したり、新しい要素を追加したりして、アレイの内容
array.splice(start[, 제거할요소[, 추가할요소1[, 추가할요소2[, ...]]]])
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// replaces 1 element at index 4
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]
配列の開始から終了(終了を含まない)までの浅いコピーを新しい配列オブジェクトに返します.
元のシナリオは変更されません.
arr.slice([0을 시작으로 하는 추출 시작점 인덱스[, 추출을 종료 할 0 기준 인덱스]])
let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
let citrus = fruits.slice(1, 3)
// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']
var maxCallback = ( acc, cur ) => Math.max( acc.x, cur.x );
// initialValue 없이 reduce()
[ { x: 22 }, { x: 42 } ].reduce( maxCallback ); // 42
[ { x: 22 } ].reduce( maxCallback ); // { x: 22 }
[ ].reduce( maxCallback ); // TypeError
[0, 1, 2, 3, 4].reduce(function(이전반환값/첫번째호출, 처리할현재요소, 처리할현재요소인덱스, reduce()를호출한배열) {
return accumulator + currentValue;
});
[0, 1, 2, 3, 4].reduce( (prev, curr) => prev + curr );
Reference
この問題について([D+98]航海9911第(2)方法整理), 我々は、より多くの情報をここで見つけました https://velog.io/@gagyeong/D97-항해99-11일차-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol