変数がオブジェクトであるか array_javascript スキルであるかを判断する JavaScript メソッド
typeof all はオブジェクトを返します
JavaScript のすべてのデータ型は厳密な意味ではオブジェクトですが、実際の使用では変数が配列であるかオブジェクトであるかを判断したい場合、typeof はすべてオブジェクトを返すため使用できません。
var o = { '名前':'リー' };
var a = ['reg','blue'];
document.write( ' o typeof は ' typeof o);
document.write( '
');
document.write( ' typeof は ' typeof a);
実行:
o typeof はオブジェクトです
typeof はオブジェクト
です
したがって、この方法は諦めるしかありません。配列かオブジェクトかを判断する方法は 2 つあります。
まず、typeof プラスの長さ属性を使用します
配列には length 属性がありますが、オブジェクトにはありません。また、配列の型とオブジェクトの型はどちらもオブジェクトを返すため、このように判断できます
var o = { '名前':'リー' };
var a = ['reg','blue'];
var getDataType = function(o){
If(typeof o == 'オブジェクト'){
If( typeof o.length == 'number' ){
'配列' を返します
}その他{
return 'オブジェクト'; }
}その他{
return 'param はオブジェクト タイプではありません';
}
};
alert( getDataType(o) ); // オブジェクト
alert( getDataType(a) ); // 配列
alert( getDataType(1) ); // param がオブジェクト タイプではありません
alert( getDataType(true) ); // param がオブジェクト タイプではありません
alert( getDataType('a') ); // param がオブジェクト型ではありません
2 番目に、instanceof を使用します。
instanceof を使用して、変数が配列であるかどうかを判断します。
var a = ['reg','blue'];
alert(配列のインスタンス) // true
; alert( o 配列のインスタンス ); // false
に属しているかどうかを判断することもできます。
var a = ['reg','blue'];
alert( Object のインスタンス) // true
alert( o Object ) // true
を判断する必要があります。
var a = ['reg','blue'];
var getDataType = function(o){
If(配列のインスタンス){
'配列' を返します
}else if( o オブジェクトのインスタンス){
return 'オブジェクト';
}その他{
return 'param はオブジェクト タイプではありません';
}
};
alert( getDataType(o) ); // オブジェクト
alert( getDataType(a) ); // 配列
alert( getDataType(1) ); // param がオブジェクト タイプではありません
alert( getDataType(true) ); // param がオブジェクト タイプではありません
alert( getDataType('a') ); // param がオブジェクト型ではありません
配列を最初に判断しない場合は、たとえば次のようになります:
var o = { '名前':'リー' };
var a = ['reg','blue'];
var getDataType = function(o){
If(o オブジェクトのインスタンス){
'オブジェクト' を返します
}else if( o 配列のインスタンス ){
return '配列';
}その他{
return 'param はオブジェクト タイプではありません';
}
};
alert( getDataType(o) ); // オブジェクト
alert( getDataType(a) ); // オブジェクト
alert( getDataType(1) ); // param がオブジェクト タイプではありません
alert( getDataType(true) ); // param がオブジェクト タイプではありません
alert( getDataType('a') ); // param がオブジェクト型ではありません
すると配列もオブジェクトとして判断されます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

PHP では、配列は順序付けられたシーケンスであり、要素はインデックスによってアクセスされます。オブジェクトは、new キーワードによって作成されたプロパティとメソッドを持つエンティティです。配列へのアクセスはインデックス経由で、オブジェクトへのアクセスはプロパティ/メソッド経由で行われます。配列値が渡され、オブジェクト参照が渡されます。

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