草庐IT

javascript - 使用 Jquery 计算对象字面量中的对象数

代码:varanimals={"elephant":{"name":"Bingo","age":"4"},"Lion":{"name":"Tango","age":"8"},"Tiger":{"name":"Zango","age":"7"}}我想计算这个对象字面量中使用Jquery的对象的数量。 最佳答案 你可以使用Object.keys(animals).length或者varcount=0;for(varanimalinanimals){if(animals.hasOwnProperty(animal)){count++;}}

Javascript获取对象中项目列表的长度?

我目前有一个如下所示的Javascript对象:对象{0:8,1:9,2:10}我正在尝试获取对象中单个项目的数量(即3),但不知道如何操作。由于对象不是数组,我不能只调用.length()。我尝试huntsList[2].toString().split('.').length以逗号拆分项目并以这种方式计算它们但它返回1,因为它转换了整个对象到一个看起来像这样的字符串:[[[objectObject]"]。如有任何关于如何实现此目标的建议,我将不胜感激。 最佳答案 您可以使用Object.keys获取键,它返回一个键数组:Exam

javascript - 如何使用 Ramda 从对象中过滤掉特定的键?

http://ramdajs.com/0.21.0/docs/#propRamdaReplvarmyObject={a:1,b:2,c:3,d:4};varnewObject=R.filter(R.props('a'),myObject);//varnewObject=R.filter(R.equals(R.props('a')),myObject);console.log('newObject',newObject);现在上面的代码正在返回整个对象:新对象{"a":1,"b":2,"c":3,"d":4}我想做的只是返回一个只有'a'键的新对象。或者使用a和b键的新对象。

javascript通过路径数组到达元素

我得到了这个路径数组:constpath=["a","b","c","d"]和一个像这样的对象:letobj={"a":{"b":{"c":{"d":10,"e":20}}}}我想删除obj["a"]["b"]["c"]["d"]所以我的obj将是{"a":{"b":{"c":{"e":20}}}}我已经尝试做一些path.forEach循环,附加它但是找不到我想要附加它的正确方法,所以我可以访问obj到正确的位置。 最佳答案 您可以递归地执行此操作,然后使用delete删除基本情况中的最终键值对:constpath=["a","b

javascript - 使用递归函数遍历 JSON 字符串到内部级别

我有一个可以进入任意数量级别的JSON输入。我给出了一个输入样本vard=getEntities({"Categories":{"Facets":[{"count":1,"entity":"Company","Company":[{"entity":"FordMotorCo","Ford_Motor_Co":[{"count":1,"entity":"Ford"}]}]},{"count":4,"entity":"Country","Country":[{"entity":"Germany","Germany":[{"count":1,"entity":"Germany"}],"cur

javascript - 如何在javascript中获取对象的名称?

比如我有这样一个对象:vara={'light':'good','dark':{'black':'bad','gray':'notsobad'}}还有这样一段代码:vartest=function(obj){//dosmthwithobject//Ineedtogetobj'sname('dark'inmyway)}test(a.dark);如何获取函数体中对象的名称。所以我的意思是我应该知道obj的名字是'dark'。我试过用Firebug检查对象,但它只显示对象的属性。它没有显示一些我可以知道的内部方法或属性谢谢。 最佳答案 你

javascript - 在 JavaScript 中检查数组是否包含具有特定属性值的对象?

如果我有类似的东西[Object(id:03235252,name:"streetAddress"),Object(id:32624666,name:"zipCode")...]如何从name设置为“zipCode”的数组中删除对象? 最佳答案 如果你需要修改现有的Array,你应该使用splice()。for(vari=array.length-1;i>-1;i--){if(array[i].name==="zipCode")array.splice(i,1);}请注意,我正在反向循环。这是为了处理这样一个事实,即当您执行.spl

javascript - 获取第一个对象属性的值

我有一个简单的对象,它总是有一个key:value,比如varobj={'mykey':'myvalue'}在不真正这样做的情况下获得值(value)的最快方式和优雅方式是什么?for(keyinobj){console.log(obj[key]);varvalue=obj[key];}比如我可以通过索引0或其他方式访问该值吗? 最佳答案 varvalue=obj[Object.keys(obj)[0]];Object.keys包含在javascript1.8.5中。请在此处检查兼容性http://kangax.github.io/

javascript - 在对象数组中查找具有 `id` 属性最大值的对象

在我的对象数组中,我想找到id属性值最高的对象。这是我的数组:myArray=[{'id':'73','foo':'bar'},{'id':'45','foo':'bar'},//…];通常,我使用$.grep来查找数组中的值,如下所示:varresult=$.grep(myArray,function(e){returne.id==73;});但在这种情况下,我需要为我要选择的对象提供一个特定的id值。 最佳答案 问题说他想找到具有最大id的对象,而不仅仅是最大的id...varmyArray=[{'id':'73','foo':

Javascript:将点分隔字符串转换为嵌套对象值

我有一堆对象属性以点分隔的字符串形式出现,例如"availability_meta.supplier.price",我需要为record['availability_meta']['vendor']['价格']等等。并非所有东西都是3层深:许多只有1层深,许多都超过3层。有没有一种在Javascript中以编程方式分配它的好方法?例如,我需要:["foo.bar.baz",1]//-->record.foo.bar.baz=1["qux.qaz","abc"]//-->record.qux.qaz="abc"["foshizzle",200]//-->record.foshizzle=