concat は es6 の構文ではなく、es5 で利用可能ですが、互換性が高く翻訳が不要な点が利点です。 concat メソッドは、「元の配列 object.concat(new value)」という構文を使用して、複数の配列をマージするために使用されます。このメソッドは、配列パラメーターおよびその他のタイプの値をパラメーターとして受け入れることができます。 concat メソッドは、新しい配列のメンバーを元の配列メンバーの末尾に追加し、元の配列を変更せずに新しい配列を返します。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
concat は es6 構文ではありませんが、 es5 で使用できます。
ES5 配列メソッド concat()
concat
メソッドは 複数の配列に使用されます # ##マージ###。新しい配列のメンバーを元の配列メンバーの末尾に追加し、元の配列 を変更せずにそのままにして、新しい配列を返します。
- メソッドは現在の
- Array
を変更せず、新しい
Arrayを返すことに注意してください。
<pre class="brush:php;toolbar:false">['hello'].concat(['world']) // ["hello", "world"] ['hello'].concat(['world'], ['!']) // ["hello", "world", "!"] [].concat({a: 1}, {b: 2}) // [{ a: 1 }, { b: 2 }] [2].concat({a: 1}) // [2, {a: 1}]</pre>
concat
[1, 2, 3].concat(4, 5, 6) // [1, 2, 3, 4, 5, 6]
実際、concat()- メソッドは、任意の数の要素と
- Array
を受け取り、
Arrayを自動的に逆アセンブルできます。 , 次に、それらをすべて新しい
Arrayに追加します。つまり、
concat()操作のパラメーターが配列の場合、配列ではなく配列内の要素が追加されます。
<pre class="brush:php;toolbar:false">var arr = ['A', 'B', 'C']; arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]</pre>
注: concat
arr.concat([1, [2, 3]]); // [1, 2, 3, 1, [2, 3]]
配列メンバーにオブジェクトが含まれる場合、 concat- メソッドは、現在の配列の
- 浅いコピー
を返します。いわゆる「浅いコピー」とは、新しい配列が
オブジェクトの参照 をコピーすることを意味します。var obj = { a: 1 }; var oldArray = [obj]; var newArray = oldArray.concat(); obj.a = 2; newArray[0].a // 2
上記のコードでは、元の配列にはオブジェクトが含まれており、 concat
元のオブジェクトを変更すると、新しい配列も 変更されます。
ES6 拡張演算子を使用する
マージ
const name1 = ['A','B','C'];
const name2 = ['D','E','F'];
const name = [...name1,...name2]
console.log(name);
concat は es5 の場合に使用できます。利点は次のとおりです。互換性が高く、翻訳する必要がありません。
... は es6 の新しい構文で、記述方法が簡素化されています。コードはより簡潔で直感的に見えますが、実際にはカプセル化されているだけで、最下位層はまだ元のメソッドを使用しており、以下はバベル変換の結果です <pre class='brush:php;toolbar:false;'>arr1 = [...arr1, ...arr2];
↓ 相当于
function _toConsumableArray(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2;
} else { return Array.from(arr); }
}
arr1 = [].concat(_toConsumableArray(arr1), arr2);</pre>
[関連する推奨事項:
以上がconcat は es6 の構文ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

在es6中,可以利用“Array.isArray()”方法判断对象是否为数组,若判断的对象是数组,返回的结果是true,若判断对象不是数组,返回的结果是false,语法为“Array.isArray(需要检测的js对象)”。

es6中遍历跟迭代的区别是:遍历强调的是要把整个数据依次全部取出来,是访问数据结构的所有元素;而迭代虽然也是依次取出数据,但是并不保证取多少,也不保证把所有的数据取完,是遍历的一种形式。

在es6中,可用Object对象的is()方法来判断两个对象是否相等,该方法检测两个变量的值是否为同一个值,判断两个对象的引用地址是否一致,语法“Object.is(对象1,对象2)”;该方法会返回布尔值,若返回true则表示两个对象相等。

转换方法:1、利用“+”给数字拼接一个空字符,语法“数字+""”;2、使用String(),可把对象的值转换为字符串,语法“String(数字对象)”;3、用toString(),可返回数字的字符串表示,语法“数字.toString()”。

sort排序是es6中的;sort排序是es6中用于对数组的元素进行排序的方法,该方法默认不传参,按照字符编码顺序进行排序,排序顺序可以是字母或数字,并按升序或降序,语法为“array.sort(callback(a,b))”。

在es6中,assign用于对象的合并,可以将源对象的所有可枚举属性复制到目标对象;若目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性,语法为“Object.assign(...)”

改变方法:1、利用splice()方法修改,该方法可以直接修改原数组的内容,语法为“数组.splice(开始位置,修改个数,修改后的值)”;2、利用下标访问数组元素,并重新赋值来修改数组数据,语法为“数组[下标值]=修改后的值;”。

在es6中,import as用于将若干export导出的内容组合成一个对象返回;ES6的模块化分为导出与导入两个模块,该方法能够将所有的导出内容包裹到指定对象中,语法为“import * as 对象 from ...”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック



