ES6 (4)
31086 ワード
Arrays
ES 6は、アレイ動作を簡素化するために、グローバルArray
オブジェクトに新しいPropertyおよび多くのインスタンスを追加することをサポートする.他の言語と比較して,既存のjavascriptは配列を用いた操作の特徴や効率が低下しており,ES 6はこれを補完している.
Array.from(iterable, mapFunc, this)
Array.from()
メソッドは、小さなオブジェクトから新しい配列を生成します.このかわいいオブジェクトの参照値を最初のパラメータで受け入れます.2番目の因子は、Map function
を受け入れるオプションである.これは、小さなオブジェクトのすべての要素に適用されます.3番目のパラメータもオプションであり、Map function
関数のthis
にバインドされる.次の例です.let str = "0123";
let obj = {number: 1};
let arr = Array.from(str, function(value){
return parseInt(value) + this.number;
}, obj);
console.log(arr);
// 1,2,3,4
Array.of(values...)
Array.of()
の方法は、配列を生成するArray
の代わりに関数を構築することができる.既存のArray
コンストラクション関数を使用して配列を生成する場合、パラメータを使用して数値を入れると、数値を要素とする配列ではなく、数値の長さを持つ配列を生成する問題が解決されます.次の例です.let arr1 = new Array(2);
let arr2 = new Array.of(2);
console.log(arr1[0], arr1.length);
console.log(arr2[0], arr2.length);
// Output
undefined 2
2 1
Array.of()
メソッドは、主に新しい配列インスタンスを動的に作成する場合に使用され、コンストラクション関数に入る値のタイプまたは要素の数がわかりません.
Array.fill(value, startIndex, endIndex)
Array.fill()
メソッドは、1番目のパラメータの値を受け入れ、2、3番目のパラメータは、パラメータとしてオプションの、開始および終了のインデックスを受け入れる.default路は0 ~ array.length - 1
です.startIndex
のインデックスをendIndex
の要素に変換します.value
は含まれず、endIndex
のインデックスに置き換えられる.次の例です.負の値が受け入れられる場合、endIndex-1
として計算される.let arr1 = [1, 2, 3, 4];
let arr2 = [1, 2, 3, 4];
let arr3 = [1, 2, 3, 4];
let arr4 = [1, 2, 3, 4];
let arr5 = [1, 2, 3, 4];
arr1.fill(5);
arr2.fill(5, 1, 2);
arr3.fill(5, 1, 3);
arr4.fill(5, -3, 2);
arr5.fill(5, 0, -2);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);
console.log(arr5);
// Output
5,5,5,5
1,5,3,4
1,5,5,4
1,5,3,4
5,5,3,4
Array.find(testingFunc, this)
배열 길이 + (negativeNumber)
メソッドは、Array.find()
条件を満たす配列要素を返す.気に入らない場合は、testingFunc
に戻ります.
最初のパラメータのundefined
は、その名の通りテスト関数である.確認する操作を含む関数です.2番目のパラメータはtestingFunc
とtestingFunc
です.this
には3つのパラメータがあり、1つ目はtestingFunc
で、現在のプロセスの配列の要素です.2番目のパラメータはvalue
であり、index
のインデックス値である.3番目のパラメータはvalue
であり、array
の配列が呼び出される.find()
は、testingFunc
を返し、配列において試験条件を満たす最初の要素を返さなければならない.次の例です.let x = 12;
let arr = [11, 12, 13];
let result = arr.find(function(value, index, array){
if(value == this)
{
return true;
}
}, x);
console.log(result); //Output "12"
Array.findIndex(testingFunc ,this)
true
法はArray.findIndex()
法と非常に類似している.find()
の代わりにvalue
を返却します.let x = 12;
let arr = [11, 12, 13];
let result = arr.findIndex(function(value, index, array){
if(value == this)
{
return true;
}
}, x);
console.log(result); Output "1"
Array.copyWithin(targetIndex, startIndex, endIndex)
index
メソッドは、ターゲットインデックスの位置をArray.copyWithin()
に再配置する.次の例です.let arr1 = [1, 2, 3, 4, 5];
let arr2 = [1, 2, 3, 4, 5];
let arr3 = [1, 2, 3, 4, 5];
let arr4 = [1, 2, 3, 4, 5];
arr1.copyWithin(1, 2, 4);
arr2.copyWithin(0, 1);
arr3.copyWithin(1, -2);
arr4.copyWithin(1, -2, -1);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);
// Output
1,3,4,4,5
2,3,4,5,5
1,4,5,4,5
1,4,3,4,5
startIndex ~ endIndex-1
Array.entries(),keys(),values()
メソッドは、配列されたArray.entries()
を返します.index, value
メソッドは、Array.kes()
index
を返し、配列された要素Array.values()
を返します.返されるかわいいオブジェクトは配列ではありません.let arr = ['a', 'b', 'c'];
let entries = arr.entries();
let keys = arr.keys();
let values = arr.values();
console.log(...entries);
console.log(...keys);
console.log(...values);
// Output
0,a 1,b 2,c
0 1 2
a b c
しゅうごう
集合とは,1つのセルとして複数の要素を格納する形式のオブジェクトである.ES 6は多くの新しい集合を提供し,データの格納と整理により良い方法を提供した.
ES 5では、配列は一意の集合データである.ES 6は、value
、array buffers
、typed arrays
、Set
などの複数の組み込み集合オブジェクトをサポートする.ES 6でサポートされている新しいコレクションオブジェクトを表示します.
Array buffers
配列内の要素で、文字列、数値、オブジェクトなどを任意の形式で格納できます.配列は動的に増大します.そのため、アレイの動作速度やメモリ部分には多くの制限があります.これは、大量の演算と大量のデジタルに関するアプリケーションを開発する際によく発生する問題です.Map
はこのホットスポットの代替案として提案されている.Array buffers
は、8ビットブロックメモリからなる集合である.各ブロックはArray buffer
エリモントです.Array buffer
の寸法は、アレイのように動的に増大しない生成中に決定する必要がある.Array buffer
は数字しか記憶できず、Array buffer
を生成する過程で、すべてのブロックが数字0に初期化される.Array buffer
オブジェクトは、Array buffer
コンストラクタによって生成される.let buffer = new ArrayBuffer(80); //80 bytes size
ArrayBuffer
を読み込むか、Array buffer
オブジェクトを使用して値を作成します.数字を表現するために強制的に使用されないのは8ビットだけです.8、16、32、64ビットで数字を表すことができます.次の例では、DataView
オブジェクトを作成し、DataView
オブジェクトの読み取りと書き込み方法について説明します.let buffer = new ArrayBuffer(80);
let view = new DataView(buffer);
view.setInt32(8,22,false);
var number = view.getInt32(8,false);
console.log(number); //Output "22"
ここでは,ArrayBuffer
構造関数を用いてDataView
オブジェクトを生成した.DataView
オブジェクトは、複数の数値の読み取りおよび書き込み方法を提供する.DataView
を使用してデータを記述するすべてのArrayBuffer
オブジェクトの方法は、3つのパラメータを受け入れる.
最初のパラメータはバイトを受け入れます.これは、作成する数字がどのバイトで表されるかを決定するオフセットです.2番目のパラメータは、格納する数値です.3番目のパラメータはArray buffer
型であり、これはバイト命令のAndianである.DataView
は大インディアンを指し、これは大きな単位が前にある.
同様に、Boolean
オブジェクトのfalse
オブジェクトデータを読み取るためのすべての方法は、2つのパラメータを受け入れる.1番目のパラメータはオフセットで、2番目のパラメータは使用するアンディアンです.DataView
オブジェクトは、次のように、数値を格納するための複数の関数を提供します.
Typed arrays
Array buffer
には、数字を読むたびに関数をロードするという欠点があります.DataView
は、このような状況を解決し、通常の配列のように読み書きができるようにした.Array buffer
は、Typed arrays
のパッケージのように動作し、Typed array
のオブジェクトのデータをnビット数の順序で処理する.n値は、Array buffer
をどのように生成するかによって異なります.Array buffer
オブジェクトを作成し、Typed array
を使用して読み書きを行います.var buffer = new ArrayBuffer(80);
var typed_array = new Float64Array(buffer);
typed_array[4] = 11;
console.log(typed_array.length);
console.log(typed_array[4]);
// Output
10
11
Array buffer
村構造を用いてTyped array
を生成した.したがって、Float64Array
のデータは64ビットの10進数と見なされる.Typed Array
のサイズは640ビットで、64ビットの数字は10個しか記憶できません.
他のコンストラクション関数も存在します.
Array buffer
は、通常のアレイのすべての方法をサポートします.プログラマブルプロトコルも実装されているので、いずれもプログラマブルオブジェクトとして使用できます
Reference
この問題について(ES6 (4)), 我々は、より多くの情報をここで見つけました
https://velog.io/@smp2103/ES6-4
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
let str = "0123";
let obj = {number: 1};
let arr = Array.from(str, function(value){
return parseInt(value) + this.number;
}, obj);
console.log(arr);
// 1,2,3,4
let arr1 = new Array(2);
let arr2 = new Array.of(2);
console.log(arr1[0], arr1.length);
console.log(arr2[0], arr2.length);
// Output
undefined 2
2 1
let arr1 = [1, 2, 3, 4];
let arr2 = [1, 2, 3, 4];
let arr3 = [1, 2, 3, 4];
let arr4 = [1, 2, 3, 4];
let arr5 = [1, 2, 3, 4];
arr1.fill(5);
arr2.fill(5, 1, 2);
arr3.fill(5, 1, 3);
arr4.fill(5, -3, 2);
arr5.fill(5, 0, -2);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);
console.log(arr5);
// Output
5,5,5,5
1,5,3,4
1,5,5,4
1,5,3,4
5,5,3,4
let x = 12;
let arr = [11, 12, 13];
let result = arr.find(function(value, index, array){
if(value == this)
{
return true;
}
}, x);
console.log(result); //Output "12"
let x = 12;
let arr = [11, 12, 13];
let result = arr.findIndex(function(value, index, array){
if(value == this)
{
return true;
}
}, x);
console.log(result); Output "1"
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [1, 2, 3, 4, 5];
let arr3 = [1, 2, 3, 4, 5];
let arr4 = [1, 2, 3, 4, 5];
arr1.copyWithin(1, 2, 4);
arr2.copyWithin(0, 1);
arr3.copyWithin(1, -2);
arr4.copyWithin(1, -2, -1);
console.log(arr1);
console.log(arr2);
console.log(arr3);
console.log(arr4);
// Output
1,3,4,4,5
2,3,4,5,5
1,4,5,4,5
1,4,3,4,5
let arr = ['a', 'b', 'c'];
let entries = arr.entries();
let keys = arr.keys();
let values = arr.values();
console.log(...entries);
console.log(...keys);
console.log(...values);
// Output
0,a 1,b 2,c
0 1 2
a b c
集合とは,1つのセルとして複数の要素を格納する形式のオブジェクトである.ES 6は多くの新しい集合を提供し,データの格納と整理により良い方法を提供した.
ES 5では、配列は一意の集合データである.ES 6は、
value
、array buffers
、typed arrays
、Set
などの複数の組み込み集合オブジェクトをサポートする.ES 6でサポートされている新しいコレクションオブジェクトを表示します.Array buffers
配列内の要素で、文字列、数値、オブジェクトなどを任意の形式で格納できます.配列は動的に増大します.そのため、アレイの動作速度やメモリ部分には多くの制限があります.これは、大量の演算と大量のデジタルに関するアプリケーションを開発する際によく発生する問題です.
Map
はこのホットスポットの代替案として提案されている.Array buffers
は、8ビットブロックメモリからなる集合である.各ブロックはArray buffer
エリモントです.Array buffer
の寸法は、アレイのように動的に増大しない生成中に決定する必要がある.Array buffer
は数字しか記憶できず、Array buffer
を生成する過程で、すべてのブロックが数字0に初期化される.Array buffer
オブジェクトは、Array buffer
コンストラクタによって生成される.let buffer = new ArrayBuffer(80); //80 bytes size
ArrayBuffer
を読み込むか、Array buffer
オブジェクトを使用して値を作成します.数字を表現するために強制的に使用されないのは8ビットだけです.8、16、32、64ビットで数字を表すことができます.次の例では、DataView
オブジェクトを作成し、DataView
オブジェクトの読み取りと書き込み方法について説明します.let buffer = new ArrayBuffer(80);
let view = new DataView(buffer);
view.setInt32(8,22,false);
var number = view.getInt32(8,false);
console.log(number); //Output "22"
ここでは,ArrayBuffer
構造関数を用いてDataView
オブジェクトを生成した.DataView
オブジェクトは、複数の数値の読み取りおよび書き込み方法を提供する.DataView
を使用してデータを記述するすべてのArrayBuffer
オブジェクトの方法は、3つのパラメータを受け入れる.最初のパラメータはバイトを受け入れます.これは、作成する数字がどのバイトで表されるかを決定するオフセットです.2番目のパラメータは、格納する数値です.3番目のパラメータは
Array buffer
型であり、これはバイト命令のAndianである.DataView
は大インディアンを指し、これは大きな単位が前にある.同様に、
Boolean
オブジェクトのfalse
オブジェクトデータを読み取るためのすべての方法は、2つのパラメータを受け入れる.1番目のパラメータはオフセットで、2番目のパラメータは使用するアンディアンです.DataView
オブジェクトは、次のように、数値を格納するための複数の関数を提供します.Typed arrays
Array buffer
には、数字を読むたびに関数をロードするという欠点があります.DataView
は、このような状況を解決し、通常の配列のように読み書きができるようにした.Array buffer
は、Typed arrays
のパッケージのように動作し、Typed array
のオブジェクトのデータをnビット数の順序で処理する.n値は、Array buffer
をどのように生成するかによって異なります.Array buffer
オブジェクトを作成し、Typed array
を使用して読み書きを行います.var buffer = new ArrayBuffer(80);
var typed_array = new Float64Array(buffer);
typed_array[4] = 11;
console.log(typed_array.length);
console.log(typed_array[4]);
// Output
10
11
Array buffer
村構造を用いてTyped array
を生成した.したがって、Float64Array
のデータは64ビットの10進数と見なされる.Typed Array
のサイズは640ビットで、64ビットの数字は10個しか記憶できません.他のコンストラクション関数も存在します.
Array buffer
は、通常のアレイのすべての方法をサポートします.プログラマブルプロトコルも実装されているので、いずれもプログラマブルオブジェクトとして使用できますReference
この問題について(ES6 (4)), 我々は、より多くの情報をここで見つけました https://velog.io/@smp2103/ES6-4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol