【发布时间】:2016-11-07 01:08:24
【问题描述】:
我有一个包含大量数据的 JSON 对象。我想将一个 JSON 对象传递给只需要包含一个值列表的 web 方法。 使用 $.grep 我们可以像 LINQ 一样过滤数据。 但我们无法选择该项目。 (*据我所知)。 有没有其他选择。我不想使用除 Jquery 之外的任何 JS 插件(像 Underscore js)!
让我用示例数据来解释一下。 如果我的 Json 对象是这样的。
data ={"employees":[
{"firstName":"John", "lastName":"Doe" , "Age":"12"},
{"firstName":"Anna", "lastName":"Smith", "Age":"13"},
{"firstName":"Peter", "lastName":"Jones", "Age":"42"}
]};
我想要这样的结果集,
data ={"employees":[
{ "Age":"12"},
{ "Age":"13"},
{ "Age":"42"}
]};
不使用、for 或 foreach 循环! 有谁知道吗?
【问题讨论】:
-
您的
data格式无效 - 父对象需要有一个键来存储数组。另外,为什么你不想使用循环?无论如何,这就是任何抽象方法在内部都会做的所有事情。 -
你的意思是:data.employees.map(function(d){return d.Age}) ?
-
@Rory McCrossan:这只是我给出的样本数据!我想知道有没有像LINQ这样的方法!因为如果我给出了循环,我需要将它放置太多次!
-
@griffon vulture:我不知道!让我试试!
-
“我有一个 JSON 对象” - 不,你没有:there ain't no such thing. 你有一个对象。
标签: javascript jquery json knockout.js