从对象图收集值的一行javascript?
给定以下对象图:从对象图收集值的一行javascript?,javascript,json,Javascript,Json,给定以下对象图: { "children": [{ "child": { "pets": [{ "pet": { "name": "fido" } }, { "pet": { "name": "fluffy" } } ] }
{
"children": [{
"child": {
"pets": [{
"pet": {
"name": "fido"
}
},
{
"pet": {
"name": "fluffy"
}
}
]
}
},
{
"child": {
"pets": [{
"pet": {
"name": "spike"
}
}]
}
}
]
}
用一行(或两行)来收集我孙子孙女的宠物的名字是什么?结果应该是[“fido”、“fluffy”、“spike”]
我不想为此编写自定义方法。。。我正在寻找类似jQuery在选择dom节点时的工作方式,您可以给它一个类似CSS的路径,然后它为您收集它们
我希望表达式路径看起来像“children-child-pets-pet-name”LINQ-to-JavaScript(JSLINQ)是用JavaScript实现的LINQ-to对象的实现。它是使用一组构建在JavaScript数组对象之上的扩展方法构建的。如果您使用的是数组,那么可以使用LINQ到JavaScript
LINQ to JavaScript是一个开源项目,您可以从以下位置下载:
希望这有助于
linqtojavascript(JSLINQ)是用JavaScript实现的linqto对象的一种实现。它是使用一组构建在JavaScript数组对象之上的扩展方法构建的。如果您使用的是数组,那么可以使用LINQ到JavaScript
LINQ to JavaScript是一个开源项目,您可以从以下位置下载:
希望这有助于
如果你不想使用图书馆,这是我能想到的最简洁的写作方法
var Ar=[];
p.children.map(function(a){a.child.pets.map(function(a){Ar.push(a.pet.name)})});
如果你不想使用图书馆,这是我能想到的最简洁的写作方式
var Ar=[];
p.children.map(function(a){a.child.pets.map(function(a){Ar.push(a.pet.name)})});
我决定使用XPath,这类似于JSON的XPath。对于我的需求,LINQ似乎有点重,导致了更详细的语法,尽管它看起来更强大。如果我的需求发生变化,我可能会升级。我选择了类似于JSON的XPath。对于我的需求,LINQ似乎有点重,导致了更详细的语法,尽管它看起来更强大。如果我的需求发生变化,我可能会升级。感谢您的回复!不幸的是,我在寻找更直观的东西(为了维护目的,您理解…)感谢您的回复!不幸的是,我一直在寻找更直观的东西(为了维护的目的,你知道…)为什么这会被标记为垃圾邮件?@mmyers问得好。也许有人不喜欢LINQ for javascript的想法?@mmyers:我没有标记它,但我猜这是因为它用一个无关产品的名称签名。这到底为什么被标记为垃圾邮件?@mmyers问得好。也许有人不喜欢LINQ for javascript的想法?@mmyers:我没有标记它,但我想这是因为它是用一个无关产品的名称签名的。