タグ付けされた質問 「javascript-objects」

このタグは、JavaScriptオブジェクトに関連する質問に使用します。


30
JavaScriptで配列に値が含まれているかどうかを確認するにはどうすればよいですか?
JavaScript配列に値が含まれているかどうかを確認する最も簡潔で効率的な方法は何ですか? これが私が知っている唯一の方法です。 function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } これを達成するためのより良い、より簡潔な方法はありますか? これは、スタックオーバーフローの質問と非常に密接に関連しています。これは、を使用して配列内のオブジェクトを見つけることを扱いますindexOf。


30
JavaScriptオブジェクトを正しく複製するにはどうすればよいですか?
私はオブジェクトを持っていますx。y変更が変更されyないように、それをオブジェクトとしてコピーしたいと思いますx。組み込みのJavaScriptオブジェクトから派生したオブジェクトをコピーすると、余分な不要なプロパティが発生することに気付きました。私は自分のリテラル構成オブジェクトの1つをコピーしているので、これは問題ではありません。 JavaScriptオブジェクトを正しく複製するにはどうすればよいですか?

30
オブジェクトが配列かどうかを確認する方法は?
文字列のリストまたは単一の文字列を受け入れる関数を記述しようとしています。文字列の場合は、1つのアイテムだけを含む配列に変換したいので、エラーを心配することなくループできます。 では、変数が配列かどうかを確認するにはどうすればよいですか? 以下のさまざまなソリューションを切り上げて、jsperfテストを作成しました。彼らはこれだけ使い、すべての高速だArray.isArray-それはだ、よく支えになりましたし、フレームにまたがって動作します。

30
2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
実行時に2つの(非常に単純な)JavaScriptオブジェクトをマージできる必要があります。たとえば、次のようにします。 var obj1 = { food: 'pizza', car: 'ford' } var obj2 = { animal: 'dog' } obj1.merge(obj2); //obj1 now has three properties: food, car, and animal このためのスクリプトを持っている人や、これを行うための組み込みの方法を知っている人はいますか?再帰は必要ありません。関数をマージする必要はありません。フラットオブジェクトのメソッドだけです。

30
JavaScriptオブジェクトの長さ
私はJavaScriptオブジェクトを持っていますが、このオブジェクトの長さを取得するための組み込みまたは受け入れられたベストプラクティスの方法はありますか? const myObject = new Object(); myObject["firstname"] = "Gareth"; myObject["lastname"] = "Simpson"; myObject["age"] = 21;




15
オブジェクトの配列から、プロパティの値を配列として抽出します
次の構造のJavaScriptオブジェクト配列があります。 objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ]; 各オブジェクトからフィールドを抽出し、値を含む配列を取得します。たとえば、フィールドfooはarrayになり[ 1, 3, 5 ]ます。 この簡単なアプローチでこれを行うことができます: function getFields(input, field) { var output = []; for (var i=0; i < input.length ; ++i) output.push(input[i][field]); return output; } var result = getFields(objArray, …

29
__proto__VS。JavaScriptのプロトタイプ
この図は、すべてのオブジェクトにプロトタイプがあることを示しています。コンストラクター関数Fooには、__proto__Function.prototype という独自の関数もあり、その__proto__プロパティを介してObject.prototypeを再び参照します。したがって、繰り返しますが、Foo.prototypeはFooの明示的なプロパティであり、bおよびcオブジェクトのプロトタイプを参照します。 var b = new Foo(20); var c = new Foo(30); 違いは何ですか__proto__とはprototype? 図はdmitrysoshnikov.comから取られました。


15
JavaScriptオブジェクトを反復する方法は?
JavaScriptにオブジェクトがあります。 { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } forループを使用してそのプロパティを取得したいと考えています。そして、それを部分的に反復したいと思います(一度にすべてのオブジェクトプロパティではありません)。 単純な配列を使用すると、標準forループでそれを行うことができます。 for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = 300; i < …

9
{}またはnew Object()を使用してJavaScriptで空のオブジェクトを作成しますか?
JavaScriptで空のオブジェクトを作成するには、2つの方法があります。 var objectA = {} var objectB = new Object() スクリプトエンジンがそれらを処理する方法に違いはありますか?どちらか一方をもう一方を使用する理由はありますか? 同様に、別の構文を使用して空の配列を作成することもできます。 var arrayA = [] var arrayB = new Array()

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.