配列
array.push(アイテム...)
役割:配列に要素を追加し、配列の末尾に
array.unshift(アイテム...)
役割: 配列に要素を追加、ヘッダ追加
array.concat(item...)
機能:配列に要素を挿入します。 pushとconcatの違いは、concatは要素が配列であることを指定できること、つまり最後に配列を挿入することです。
// 削除とは反対に、ヘッダーとテーラーからの追加もある
// 要素を1つ挿入する
// 1. ヘッダーから挿入される arr.unshift(item...)
let arr = [1,2,3];
arr.unshift(0);
console.log(arr); //[0,1,2,3]
// 2. 端から挿入する arr.push(item...)
arr = [1,2,3];
arr.push(4);
console.log(arr); //[1,2,3,4]
// 3. 複数の要素を挿入する
// 複数の要素を挿入する場合、1つずつ押すのは明らかに面倒なので、メソッドが提供されている
// arr.concat(item...) concat この単語は、配列をマージすることを意味する;
arr1 = [1,2];
arr2 = [3,4];
arr = arr1.concat(arr2);
console.log(arr); //[1,2,3,4] & arr1 変化なし。[1,2]
array.pop()
機能:要素を末尾から削除します。
array.shift()
機能:ヘッダから要素を削除します。
//arr.shift() 最初の要素を取り除き
let arr = [1,2,3];
let element = arr.shift(); //element 1
console.log(element);
//arr.pop() 最後の要素を削除して
arr = [1,2,3];
element = arr.pop(); //element 3
console.log(element);
array.reverse()
Function: 配列の順序を逆にして配列そのものを返します。
/**
* arr.reverse()配列を反転する
*/
let arr = [1,2,3];
arr.reverse() // 元の配列を直接変更する
console.log(arr); // [3,2,1]
arry.slice(start,end)
役割:配列の内容をコピーします。
/**
* 配列の一部分をコピーしたいが、元の配列を変更したくない場合がある。
* arr.slice(start,end)
* 引数 start 開始インデックス
* end 終了インデックス
* 実際に取得される要素は [start,end) 左を閉じ、右を開く!
* 基本的にすべての言語において、これはルールである
*/
let arr = [1,2,3];
let temp = arr.slice(0,2);
console.log(temp); //[1,2]
array.join(separator)
役割: 配列から文字列へ、配列の要素は区切り文字列と一緒に文字列に取り出されます。
/**
* arr.join(separator)
* 配列から文字列へ 配列の各要素を取り、セパレータで区切る
* 引数 separator セパレータ
*/
let arr = [1,2,3];
let c = arr.join(','); //1,2,3 arr配列の要素をカンマで分割して文字列に変換する
console.log(c);
//は実際には
let str = "";
for (item of arr){
str += (item+',');
}
str = str.substr(0,str.length-1); //最後のコンマを削除する
console.log(str);
array.sort(comparefn)
役割:配列ソート
var arr1 = [3,2,1];
console.log(arr1.sort()); // [1,2,3]
var arr2 = [4,8,15,23];
console.log(arr2.sort()); // [, 8]
/**
* たぶん、頭のいいあなたは、次のパターンを見ているはずだ。
* arr.sort() 最初にマッチしたデータよりソートしただけ。
* arr2,8と1を比較するとき、大きさの比較として8と15を比較する。
* だから15は8の前に来るんだ。
*/
//arr.sort(comparefn) はcompareパラメータを受け取ることで、より正確にソートすることができる
arr2.sort(function(a,b){
return a-b;
});
console.log(arr2); // [4, 8, 15, 23] この時点で結果は正しい
// 比較関数は2つの引数をとり、両方の引数が等しい場合に返すべきである0
// 2つのパラメータが等しくなく、最初のパラメータが先に来る場合、負の数が返される
// 2つの引数が等しくなく、2番目の引数が先に来た場合に正の数を返す
array.splice(start,deleteCount,item...)
役割:削除も挿入もできるオールラウンダー。
// arr.splice(start,deleteCount,item...)
/**
* start:スタートのインデックス
* deleteCount : 削除する要素の数
* item: 挿入する要素の値
* 戻り値 削除された要素の配列
*/
let arr = [1,2,3];
let a = arr.splice(0,1,'test'); //0から要素を取り除き、この位置に挿入する'test'
console.log(arr); //["test",1,2]
console.log(a); // [1]
Array.isArray(アイテム)
役割: 要素が配列かどうかを判断します。
Array.isArray([1, 2, 3]);
// true
Array.isArray({foo: 123});
// false
Array.isArray("foobar");
// false
Array.isArray(undefined);
// false
その後、配列の一般的なメソッド(API)についての学習を終えました。
番号
number.toString()
役割:数値から文字列
Number.parseInt(アイテム)
役割: 文字列を整数に変換します。項目が文字列でない場合は、tostring メソッドを呼び出して文字列に変換します。
Number.parseFloat(アイテム)
関数:文字列を浮動小数点数に変換します。項目が文字列でない場合は、tostringメソッドを呼び出して文字列に変換します。
// 1.
var num = 3.14;
console.log(num.toString(),typeof num,typeof num.toString());
// 3.14 number string
// 2.
console.log(Number.parseInt(num)); //3
console.log(Number.parseInt("3.14")); //3
// 3.
console.log(Number.parseFloat("3.14"),typeof Number.parseFloat("3.14"));
// 3.14 "number"
Number.isNaN(アイテム)
役割:値がNaNかどうかを判断すること
/**
* NaNは数値型で、どの値とも、それ自身とも等しくない。
* console.log(NaN === NaN); //false
*/
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0) // true
// 以下は、グローバルなisNaN()を使うと真を返す(必ずNumber.isNaN,の代わりにisNaNを使うと、次のようなエラーになる)
Number.isNaN("NaN"); // false文字列 "NaN" 暗黙のうちに数値NaNに変換されることはない。
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("blabla"); // false
Number.isInteger(アイテム)
役割: 数が整数かどうかを判断します。
console.log(Number.isInteger(3)); //true
console.log(Number.isInteger(3.14)); //false
console.log(Number.isInteger(undefined));//false
対象
object.hasOwnProperty(アイテム)
役割:オブジェクトが特定のプロパティを持つかどうかを判断
var obj = {
name:"tom",
age:18
}
console.log(obj.hasOwnProperty("name")); // true
console.log(obj.hasOwnProperty("weigth")); // false
オブジェクト.キー()
役割:オブジェクトのすべてのプロパティを配列として返します。
var obj = {
name:"tom",
age:18
}
console.log(Object.keys(obj)); //["name", "age"]
オブジェクトの値()
目的: オブジェクトのすべての値を配列として返します。
var obj = {
name:"tom",
age:18
}
console.log(Object.values(obj)); // ["tom", 18]
補足:オブジェクトJSONのサブセット
JSONには2つのメソッドしかありません。
JSON.stringify()
機能: 指定された値に対応するJSON文字列を返します。つまり、データ転送でよく使われるオブジェクト型から文字列への変換です。
JSON.parse()
Function: JSON文字列を解析し、対応する値を返します。つまり、データ転送でよく使われる文字列からオブジェクトへの型です。
データ転送のJSONフォーマットにおけるこの2つは不可欠です。フロントエンドとバックエンドのやり取りは、この2つなしでは成り立ちません。
var obj = {
name: "tom",
age: 18
}
console.log(JSON.stringify(obj),typeof JSON.stringify(obj));
// {"name":"tom","age":18} データ型:string
var str = '{"name":"tom","age":18}';
console.log(JSON.parse(str),typeof JSON.parse(str));
// {name: "tom", age: 18} データ型 object
文字列
文字列.charAt(pos)
機能:対応するインデックスの文字列の値を返します。
var str = "hello";
console.log(str.charAt(0)); // h
console.log(str[0]); // h
// これら2つの結果は同じで、どちらも対応するインデックスの文字列の値を返す
string.concat(string...)
Function: 文字列を連結して新しい文字列を作ります。
var str1 = "hello";
var str2 = " world!";
var str = str1.concat(str2);
console.log(str); //hello world!
console.log(str1+str2); //hello world!
// 推奨用途+文字列の接続を行う演算子
// この段階では、ブラウザエンジンの関心はすべて+演算子は最適化されており、低性能ではない
string.indexof(searchString,position)
戻り値が-1の場合、見つからなかったことを意味します。
string.lastIndexOf(検索文字列,位置)
関数:searchStringの末尾から始めて、文字列中でsearchStringが最初に出現する位置を探します。
var str = "hello world";
console.log(str.indexOf("h")); //0
// ポディションなし、デフォルトpostion=0
console.log(str.indexOf("o")); // 4
console.log(str.indexOf("o",5)); // 7
// 端から探す
console.log(str.lastIndexOf("o")); //7
// 見つからないを返す-1
console.log(str.indexOf("s")); // -1
文字列.search(正規表現)
役割:searchメソッドはindexofメソッドと似ていますが、パラメータとして受け取れる正規表現は1つだけです。
var str = "hey JudE";
var re = /[A-Z]/g;
var re2 = /[.]/g;
console.log(str.search(re)); // returns 4, に対応する。 "J"
console.log(str.search(re2)); // returns -1見つからなかった '.'
文字列.部分文字列(開始,終了)
関数:文字列のインターセプト
string.slice(start,end)
関数:substringに似ていますが、引数のstartとendは負の数を受け取ることができます(substringの代わりにsliceを使うようにしてください、sliceはsubstringよりも強力です)。
var str = "hello world";
console.log(str.substring(6,str.length)); //world
console.log(str.slice(6,str.length));//world
// しかし、substringは負の数をサポートしない。
console.log(str.substring(-5,str.length)); // 無理な値を出力する
console.log(str.slice(-5,str.length)); // world
/**
* str.slice -1最後の文字に対応する
*
* -1 文字に対応するd
* -2 はアルファベットの最後の文字に相当する。l
* を置き換えてみてほしい。 substring
*/
string.split(separator,limit)
役割:文字列から配列へ
/**
* string.split
* パラメーターの説明
* separator:
* limit: 配列の要素数を生成する
*/
var str = "1,2,3";
var arr = str.split(",",2);
console.log(arr); // ["1", "2"]
文字列.toLowerCase()
機能:すべての文字列を小文字に変換
文字列.toUpperCase()
機能:すべての文字列を大文字に変換します。
var str = "Hello WORLD";
console.log(str.toLowerCase()); //hello world
console.log(str.toUpperCase()); //HELLO WORLD
日付
date.toLocaleString()
機能:年、月、日、時、分、秒を含む現地時間に変換します。
date.toLocaleDateString()
役割:完了した月と年を含む現地時間に変換します。
date.toLocaleTimeString()
機能:完了の時、分、秒を含むようにローカルタイムを変換します。
var date = new Date();
console.log(date.toLocaleDateString());//
console.log(date.getFullYear()); // 2020
console.log(date.getMonth()); //6
console.log(date.getDate()); // 23
console.log(date.toLocaleTimeString()); //
console.log(date.getHours()); // 10
console.log(date.getMinutes()); // 44
console.log(date.getSeconds()); // 26
console.log(date.toLocaleString()); //
var date = new Date(,);
// 順番:年、月、日、時、分、秒
// AM 実際の月 = +1
console.log(date.toLocaleString());
チューチュー




