タグ付けされた質問 「object」

オブジェクトは、プログラミング言語のコマンドによって操作できるエンティティです。オブジェクトは、値、変数、関数、または複雑なデータ構造にすることができます。オブジェクト指向プログラミングでは、オブジェクトはクラスのインスタンスを指します。

13
変数を名前として使用して、JavaScriptオブジェクトにプロパティを追加しますか?
jQueryを使用してDOMから項目を引き出しておりid、DOM要素のを使用してオブジェクトにプロパティを設定したいと考えています。 例 const obj = {} jQuery(itemsFromDom).each(function() { const element = jQuery(this) const name = element.attr('id') const value = element.attr('value') // Here is the problem obj.name = value }) 「myId」のitemsFromDom要素が含まれている場合id、「myId」objという名前のプロパティが必要です。上記は私に与えますname。 JavaScriptを使用して変数を使用してオブジェクトのプロパティに名前を付けるにはどうすればよいですか?

10
オブジェクトの配列の値に対して.joinを実行する
文字列の配列がある場合、次のように、.join()メソッドを使用して、各要素をコンマで区切った単一の文字列を取得できます。 ["Joe", "Kevin", "Peter"].join(", ") // => "Joe, Kevin, Peter" オブジェクトの配列があり、その中に保持されている値に対して同様の操作を実行したいと思います。から [ {name: "Joe", age: 22}, {name: "Kevin", age: 24}, {name: "Peter", age: 21} ] 以前と同じ出力を実現するにはjoin、name属性に対してのみメソッドを実行します。 現在、私は次の機能を持っています: function joinObj(a, attr){ var out = []; for (var i = 0; i < a.length; i++){ out.push(a[i][attr]); } return out.join(", "); } そのコードには何も問題はありませんが、機能しますが、突然、私は単純なコード行から非常に命令的な関数に移行しました。これを書くためのより簡潔で、理想的にはより機能的な方法はありますか?


12
オブジェクトプロパティに基づいて配列要素を削除する
私は次のようなオブジェクトの配列を持っています: var myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ]; プロパティに基づいて特定のものを削除するにはどうすればよいですか? たとえば、フィールドプロパティとして「money」を含む配列オブジェクトをどのように削除しますか?


19
オブジェクトの配列を単一のキーで日付値でソートします
いくつかのキーと値のペアを持つオブジェクトの配列があり、「updated_at」に基づいてそれらをソートする必要があります。 [ { "updated_at" : "2012-01-01T06:25:24Z", "foo" : "bar" }, { "updated_at" : "2012-01-09T11:25:13Z", "foo" : "bar" }, { "updated_at" : "2012-01-05T04:13:24Z", "foo" : "bar" } ] そうするための最も効率的な方法は何ですか?


30
JavaScriptオブジェクトがDOMオブジェクトであるかどうかをどのように確認しますか?
私は取得しようとしています: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false 私のスクリプトではtagName、プロパティとして必要になることはなかったので、これを使用していました。 if (!object.tagName) throw ...; したがって、2番目のオブジェクトについては、簡単な解決策として次のことを思いつきました。;) 問題は、読み取り専用プロパティを適用しているブラウザーに依存していることです。 function isDOM(obj) { var tag = obj.tagName; try { obj.tagName = ''; // Read-only for DOM, should throw exception obj.tagName = tag; // Restore for normal objects return false; } catch (e) { return …
247 javascript  dom  object 

19
JavaScriptのプロパティでオブジェクトのインデックスを取得するにはどうすればよいですか?
たとえば、私は: var Data = [ { id_list: 1, name: 'Nick', token: '312312' }, { id_list: 2, name: 'John', token: '123123' }, ] 次に、このオブジェクトをたとえばで並べ替え/反転したいとしますname。そして、私はこのようなものを手に入れたいです: var Data = [ { id_list: 2, name: 'John', token: '123123' }, { id_list: 1, name: 'Nick', token: '312312' }, ] そして今私はプロパティを持つオブジェクトのインデックスを知りたいです name='John'はプロパティトークンの値を取得するためにを。 どうすれば問題を解決できますか?


11
一貫性のないアクセシビリティ:パラメータタイプはメソッドよりもアクセスしにくい
2つのフォーム間でオブジェクト(基本的に、現在ログオンしているユーザーへの参照)を渡そうとしています。現時点では、ログインフォームに次のような行があります。 private ACTInterface oActInterface; public void button1_Click(object sender, EventArgs e) { oActInterface = new ACTInterface(@"\\actserver\Database\Premier.pad",this.textUser.Text,this.textPass.Text); if (oActInterface.checkLoggedIn()) { //user has authed against ACT, so we can carry on clients oClientForm = new clients(oActInterface); this.Hide(); oClientForm.Show(); } else... 次のフォーム(クライアント)では、次のようになります。 public partial class clients : Form { private ACTInterface oActInt {get; set;} …
227 c#  object 

12
2つのPHPオブジェクトをマージする最良の方法は何ですか?
2つのPHP5オブジェクトがあり、1つのコンテンツを2番目のオブジェクトにマージしたいと考えています。それらの間にはサブクラスの概念がないため、次のトピックで説明するソリューションは適用できません。 PHPオブジェクトを別のオブジェクトタイプにコピーする方法 //We have this: $objectA->a; $objectA->b; $objectB->c; $objectB->d; //We want the easiest way to get: $objectC->a; $objectC->b; $objectC->c; $objectC->d; 備考: これらはクラスではなくオブジェクトです。 オブジェクトには非常に多くのフィールドが含まれているため、foreachは非常に遅くなります。 これまでのところ、オブジェクトAとBを配列に変換してから、array_merge()を使用してそれらをマージしてからオブジェクトに再変換することを検討していますが、これが私たちの誇りであるとは言えません。
222 php  oop  object 

16
オブジェクトに要素を追加する
私はjsonファイルを入力する必要があります、今私はこのようなものを持っています: {"element":{"id":10,"quantity":1}} そして、別の「要素」を追加する必要があります。私の最初のステップは、を使用してそのjsonをObject型cart = JSON.parseに配置することです。次に、新しい要素を追加する必要があります。私cart.pushは別の要素を追加するために使用する必要があると思いました、私はこれを試しました: var element = {}; element.push({ id: id, quantity: quantity }); cart.push(element); しかしelement.push、しようとすると「オブジェクトにメソッドプッシュがありません」というエラーが表示され、「要素」をどこにも伝えていないため、何か間違っていると思います。 どうやってやるの? 編集:すみません、頭の中でたくさんの混乱がありました。 からデータJSON.parseを取得するときはオブジェクトタイプしか取得できないと思っていましたが、最初にJSONに入力したものを取得します。 オブジェクトの代わりに配列を配置することで問題が解決しました。ここでも多くの提案を使用しました。ありがとうございます。
222 javascript  object 

20
2つのオブジェクト間の一般的な深い差分
との2つのオブジェクトがoldObjありnewObjます。 のデータはoldObjフォームへの入力に使用されnewObj、ユーザーがこのフォームのデータを変更して送信した結果です。 つまり、両方のオブジェクトは深いです。それらはオブジェクトやオブジェクトの配列などのプロパティを持っています-それらはnレベルの深さを持つことができるので、diffアルゴリズムは再帰的である必要があります。 今、私はちょうどから(追加のように/更新/削除)変更されたかを把握する必要がないoldObjのnewObjが、また最高にそれを表現する方法。 これまでのところ、genericDeepDiffBetweenObjectsフォーム上のオブジェクトを返すメソッドを作成することだけが私の考えでした{add:{...},upd:{...},del:{...}}が、次に、誰かがこれを以前に必要としていたに違いないと考えました。 それで...これを行うライブラリまたはコードの一部を知っていて、おそらく違いを表すより良い方法があります(まだJSONシリアル化可能な方法で)? 更新: と同じオブジェクト構造を使用して、newObjすべてのプロパティ値をフォーム上のオブジェクトに変換することにより、更新されたデータを表すより良い方法を考えました。 {type: '<update|create|delete>', data: <propertyValue>} だからnewObj.prop1 = 'new value'、oldObj.prop1 = 'old value'それが設定されるとreturnObj.prop1 = {type: 'update', data: 'new value'} アップデート2: 配列であるプロパティに到達する[1,2,3]と[2,3,1]、それは本当に毛むくじゃらになります。配列はに等しいと数えられる必要があるためです。これは、文字列、int、boolなどの値ベースの型の配列では十分簡単ですが、オブジェクトや配列などの参照型の配列。 等しいはずの配列の例: [1,[{c: 1},2,3],{a:'hey'}] and [{a:'hey'},1,[3,{c: 1},2]] このタイプの深い値の等価性をチェックすることは非常に複雑であるだけでなく、変更の可能性を表す良い方法を理解することも必要です。


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