Questions tagged «object»

对象是可以用编程语言中的命令操纵的任何实体。对象可以是值,变量,函数或复杂的数据结构。在面向对象的编程中,对象是指类的实例。

13
使用变量作为名称向JavaScript对象添加属性?
我正在使用jQuery从DOM中提取项目,并希望使用idDOM元素的对象设置属性。 例 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 }) 如果itemsFromDom包含一个元素id为“ myId” 的元素,我想obj拥有一个名为“ myId”的属性。以上给了我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" } ] 这样做最有效的方法是什么?

8
如何显示对象的所有方法?
我想知道如何列出对象可用的所有方法,例如: alert(show_all_methods(Math)); 这应该打印: abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …

30
如何检查JavaScript对象是否为DOM对象?
我试图得到: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false 在我自己的脚本中,我以前只是使用它,因为我从来不需要tagName作为属性: if (!object.tagName) throw ...; 因此,对于第二个对象,我想出了以下方法作为一种快速解决方案-大部分都能奏效。;) 问题是,这取决于浏览器是否强制执行只读属性,而并非所有人都这样做。 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
可访问性不一致:参数类型比方法更难访问
我正在尝试在两种形式之间传递一个对象(基本上是对当前登录用户的引用)。目前,我在登录表单中有以下几行内容: 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
合并两个PHP对象的最佳方法是什么?
我们有两个PHP5对象,并希望将其中一个的内容合并到第二个中。它们之间没有子类的概念,因此以下主题中描述的解决方案不适用。 如何将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
两个对象之间的一般深度差异
我有两个对象: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],这对于基于值的类型的字符串(如string,int和bool)而言足够简单,但在涉及到引用类型的数组,例如对象和数组。 应该找到相等的示例数组: [1,[{c: 1},2,3],{a:'hey'}] and [{a:'hey'},1,[3,{c: 1},2]] 检查这种类型的深价值平等不仅很复杂,而且还找到了一种表示可能发生的变化的好方法。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.