ホームページ ウェブフロントエンド jsチュートリアル js オブジェクトと arrays_javascript スキルに関する隠れたトーク

js オブジェクトと arrays_javascript スキルに関する隠れたトーク

May 16, 2016 pm 06:06 PM
物体 配列

コードをコピー コードは次のとおりです:

/*
配列とオブジェクト [JavaScript の決定版ガイド、第 5 版]
*/

/*
オブジェクト: 順序付けされていない属性のセットです。属性 それぞれに独自の名前と値があります*/

/* オブジェクトを作成する簡単な方法、オブジェクトの直接数量*/
var obj = {}
var obj = {name: 'maxthon; '};
var obj = {name: {}, text: []};

/* 新しい演算子を使用できます*/
var a = new Array(); var d = new Date();
var r = new RegExp('javascript', 'i');
var o = new Object(); // var o = {};注: new 演算子の後にはコンストラクターが続くため、
typeof Array; // 'function'
Function のインスタンスです。
*/
/* オブジェクト属性*/
// 注: [] は、属性の値にアクセスするために使用します。
var t = {};
t.text = 'hello';
t.o = は同時に使用され、属性は Name 内で使用されます。 {};
t.o.name = 'rd';
t.n = [];
"テキスト": "こんにちは"
}; .log(t.text); // 'hello' ;
// 補足: 通常、キーワード var は変数の宣言に使用されますが、オブジェクトのプロパティを宣言する場合、var を使用して

/* オブジェクト列挙*/

var F = function () {};
F.prototype.name = 'RD';
var obj = new F; var key in obj) {
console.log(key) // name
}

// プロトタイプチェーンに沿って検索しないでください。 (obj の var key) {
if (obj.hasOwnProperty(key )) {
console.log(key) //
}
}
/* 注: for in はできません。事前定義されたプロパティを列挙します。 */


/* 属性の存在を確認します*/

window.a = 'rd';
console.log(a in window); // true;

var F = function () {};
F.prototype.name = 'RD';
var obj = new F; ' in obj); // true;


var toString = Object.prototype.toString;

// オブジェクト obj に getName メソッドが含まれている場合は、それを実行します。 if (obj.getName && toString.call(obj.getName ) === '[オブジェクト関数]') ) {
obj.getName();
}

// 補足:
console.log(null == 未定義); // true;
console.log(null !== 未定義) //


/* 属性を削除します。 🎜>delete obj.name;
// 補足: delete 演算子を使用すると、var で宣言された変数は削除できません。


/* 連想配列としてのオブジェクト*/

// オブジェクトの属性を取得します:
obj.name ;
obj['name']; // ここで name は文字列です。 [] を使用して表現すると、属性名は次のようになります。
// 操作中に操作を追加します。
// 注: このプロパティは、
// 連想配列
/* マッピング: JavaScript オブジェクト ハンドル文字列 (属性名) が値にマッピングされます。 */
for (var key in obj) {
console.log(key);
}



/*
共通のオブジェクトのプロパティとメソッド

JavaScript のすべてのオブジェクトは Object クラスから継承されます。 🎜>
1、コンストラクター属性。
*/
var F = function () {};
var f = new F; (f.constructor == F); // true

// コンストラクターのプロトタイプには、それ自体を指す属性コンストラクターがあります。 >// 補足:
var F = function () {};
G.prototype = new F;

var g = new G ;
console.log(g.constructor == F); // true;
console.log(g.constructor == G); // g インスタンスを使用できます。 ;


/*
2, toString() メソッド
*/
{'name': 'maxthon'}.toString(); // '[オブジェクト オブジェクト] '

/* 配列は toString メソッドを使用し、要素を文字列に結合すると、他のオブジェクトは [object Object] に変換されます。
関数は元の toString メソッドを使用し、関数のソース コードは次のようになります。取得*/
['a', 'b', 1, false, [' e','f'], {}].toString()// "a,b,1, false,e,f,[object オブジェクト]"

function t() {
console.log('test');
}
t.toString();
// ソース コード

/*
3, toLocalString();
オブジェクトのローカライズされた文字列を返します
4、valueOf()は、 valueOf/toString;
6, propertyIsEnumberable();
7,
a.isPrototyeOf( b);
a が b のプロトタイプの場合、true を返します。
* /
var o = {}; true;
Object.isPrototyeOf(o); // false;
関数.isPrototyeOf(Object); >
/* [関数インスタンスが存在する場合、クロージャが存在します。ガベージがリサイクルされない場合、代入参照が存在します。] */



/*
配列: 順序付けされたコレクション。値;

各値は、要素とも呼ばれ、添字に対応します。
添字は 0 から始まります。
配列内の値は、任意の型にすることができます。
*/

// 作成します。
var arr = [];

var t = ''; 🎜>var arr = [1,2,3、null、未定義、[]、{}, t];

/* new 演算子を使用して配列を作成する 3 つのケース: */
var arr = new Array() // []、直接量
var arr = new Array(5); // 長さは 5 です。
console.log(arr); // [] は未定義です。 >
var arr = new Array('5'); // 値は ['5'];
var arr = new Array('test'); ;

/* 関連例*/
var s = [1, 2, 3] = 'a'; 🎜>[ 1, 2, 3, 未定義, 未定義, 'a']



/* 配列の読み取りと書き込み*/

value = array[0] ;
a[1] = 3.14;
a[i] = 3; // 配列 -> 属性
array.test = 'rd';

// 配列の添字は 2 未満の整数です。
/ / 他の値の場合、JavaScript は文字列に変換され、添え字ではなくオブジェクト属性の名前として使用されます。 [];
array[9] = 10; // 配列の長さは 10 になります。
// 注: JavaScript インタープリターは、配列インデックス 9 の要素にのみメモリを割り当て、他のインデックスは割り当てません。

var array = [];
array.length = 10;
array[array.length] = 4; /* 配列要素を削除します*/
// 削除演算子 配列要素は未定義の値に設定されていますが、要素自体はまだ存在しています。
// 実際に削除するには、次のコマンドを使用します。 Array.shift(); [最初のものを削除] Array.pop(); [最後のものを削除] Array .splice(); [配列から連続した範囲を削除] または Array.length の長さを変更します。例*/
var a = [1, 2, 3];
delete a[1]
console.log(a); // [1, 未定義, 3]; 🎜>/* 補足: JavaScript 決定版ガイド、第 5 版、59 ページ
by var 宣言された変数は永続的です。つまり、これらの変数を削除するために delete 演算子を使用すると、エラーが発生します。 : 開発者ツールでは、Web ページでは、
*/


/* 配列の長さ*/
[] で説明されているように削除できます。 length;


/* 配列を走査*/
var array = [1, 2, 3, 4, 5];
for (var i = 0, l = array.長さ; i
console.log(array[i]);

array.forEach(関数 (項目, インデックス, arr) .log(item);
});

/* 配列: 前述のように正しい長さ*/

/* 多次元配列*/
[[ 1], [2]]

/* 配列メソッド*/
// join
var array = [1, 2, 3, 4, 5];
var str = array .join(); // 1,2,3,4,5
var str = array.join('-'); // 1-2-3-4-5
// 注:メソッドは String.split() メソッドの反対です。

// reverse() ;
var array = [1, 2, 3, 4, 5]; ; // [5, 4, 3, 2, 1]
// 注: 元の配列

// sort(); var array = [1, 3, 2, 4, 5, 3];
array.sort();// [1, 2, 3, 3, 4, 5]; 注: 配列内に未定義の要素があります。これらの要素を入れてください。最後に*/

/* 並べ替えをカスタマイズすることもできます。sort(func);
func は 2 つのパラメーターを受け取ります。最初のパラメーターが 2 番目のパラメーターの前にある必要がある場合、比較関数が返されます。 0 より小さい数値。逆に、0 より大きい数値を返します。等しい場合は、0 を返します。
* /
array.sort(function (a, b) {
return b - a;
});

// 例: 奇数から偶数へ、小さいものから大きいものへ並べ替えます
[1, 2, 3, 4, 5, 6, 7, 2, 4 , 5, 1].sort(function (a, b) {
if (a % 2 && b % 2) {
return a - b;
}

if (a % 2) {
return -1;
}

if (b % 2) {
return
}

return a - b; 🎜>
});


// concat() メソッド。深さは結合しません。Merge
var a = [1, 2, 3]; concat(4, 5); // [1, 2, 3, 4, 5]
a.concat([4, 5]) // [1, 2, 3, 4, 5]
; a.concat([4, 5], [8, 9]); // [1, 2, 3, 4, 5, 8, 9]
a.concat([4, 5], [6, [10, 19]]); // [1, 2, 3, 4, 5, 6, [10, 19] ]


// ソース配列はスライス() メソッドを使用しません。
var a = [1, 2, 3, 4, 5];
a.slice(0, 3) // [1, 2, 3]
a.slice(3); ; // [4, 5];
a.slice(1, -1); // [2, 3, 4]
a.slice(1, -1 5)
a.slice (1, 4);
a.slice(-3, -2); // [3]
a.slice(-3 5, -2 5); 3);
/* 注:
には、2 番目のパラメーターで指定された要素は含まれません。
負の値は、負の値の配列の長さ
*/

に変換されます。 // splice(pos[, len[, a, b]]) メソッド。指定した位置を削除した後、長さの要素を追加します。
// 削除された要素で構成される配列を返します。配列が変更されます。
var a = [1, 2, 3, 4, 5, 6, 7, 8]; // [ 5, 6, 7, 8];このとき a: [1, 2, 3, 4]
a.splice(1, 2); // このとき a: [1, 4 ]; splice(1, 1); // この時点では、

var a = [1, 2, 3, 4, 5]; 2, 0, 'a', 'b'); // [1, 2, 'a', 'b', 3, 4, 5]
a.splice(2, 2 , [1, 2] , 3); // ['a', 'b'] このとき a: [1, 2, [1, 2], 3, 3, 4, 5]
/* 注:
2 番目のパラメーター以降のパラメーターは、処理配列に直接挿入されます。
最初のパラメータは負の数にすることができます。
*/


// Push() メソッドと Pop() メソッドは 1 つまたは 2 つを変換できます。 more は配列の末尾に新しい要素を追加し、配列の新しい長さを返します。
// Pop() は配列の最後の要素を削除し、配列の長さを減らし、その値を返します。
// 注: 2 つの各メソッドは、配列の変更されたコピーを生成するのではなく、元の配列を変更します。 // スタック: [1, 2 ];
stack.pop(); // 削除された要素の値
stack.push(3); [1, 3]; return 2;
stack.pop(); // スタック: [1]; 削除された要素の値
stack.push([4, 5]); [1, [4, 5]]returnm 2;
stack.pop(); // スタック: [4, 5]; // unshift()


// toString() メソッドと toLocalString()
[1, 2, 4].toString (); // 1,2,3 ;
['a', 'b', 'c'].toString(); // 'a,b,c';パラメータなしの join メソッド。


/* 新しい jsapi メソッド:map、every、some、filter、forEach、indexOf、lastIndexOf、isArray */


/* Array- like object*/

arguments
document.getElementsByTagName();
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

foreach ループを使用して PHP 配列から重複要素を削除するにはどうすればよいですか? foreach ループを使用して PHP 配列から重複要素を削除するにはどうすればよいですか? Apr 27, 2024 am 11:33 AM

foreach ループを使用して PHP 配列から重複要素を削除する方法は次のとおりです。配列を走査し、要素がすでに存在し、現在の位置が最初に出現しない場合は、要素を削除します。たとえば、データベース クエリの結果に重複レコードがある場合、このメソッドを使用してそれらを削除し、重複レコードのない結果を取得できます。

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 May 03, 2024 pm 09:03 PM

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する PHP 配列ディープ コピーの技術: さまざまな方法を使用して完璧なコピーを実現する May 01, 2024 pm 12:30 PM

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで PHP 配列の多次元ソートの実践: 単純なシナリオから複雑なシナリオまで Apr 29, 2024 pm 09:12 PM

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

データソートにおけるPHP配列グループ化機能の応用 データソートにおけるPHP配列グループ化機能の応用 May 04, 2024 pm 01:03 PM

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見する Apr 30, 2024 pm 03:42 PM

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? Apr 19, 2024 pm 12:15 PM

C++ では、関数がオブジェクトを返すときに注意する点が 3 つあります。 オブジェクトのライフサイクルは、メモリ リークを防ぐために呼び出し元によって管理されます。ぶら下がりポインタを回避し、動的にメモリを割り当てるかオブジェクト自体を返すことにより、関数が戻った後もオブジェクトが有効なままであることを確認します。コンパイラーは、パフォーマンスを向上させるために、返されたオブジェクトのコピー生成を最適化する場合がありますが、オブジェクトが値セマンティクスによって渡される場合、コピー生成は必要ありません。

See all articles