Javascript 下划线对象,函数获取数据的特定部分?

Javascript 下划线对象,函数获取数据的特定部分?,javascript,underscore.js,Javascript,Underscore.js,使用下面的数据对象,我试图编写一个函数,它接受一个名称(名称是来自数据的标签,如本例中的“GD”)和值。我想使用我在下面用下划线写的函数,但我很难弄清楚如何写出这段代码,因为我对JS基本上是新手。关于如何修改函数getOption()的任何输入 根据文件, \uu.findWhere(列表,属性) 浏览列表并 返回与列出的所有键值对匹配的第一个值 在属性中 若找不到匹配项,或者列表为空,则返回undefined .findWhere(公共服务普利策,{新闻编辑室:《纽约时报》); =>{年份:1

使用下面的数据对象,我试图编写一个函数,它接受一个名称(名称是来自数据的标签,如本例中的“GD”)和值。我想使用我在下面用下划线写的函数,但我很难弄清楚如何写出这段代码,因为我对JS基本上是新手。关于如何修改函数
getOption()
的任何输入

根据文件,

\uu.findWhere(列表,属性)

浏览列表并 返回与列出的所有键值对匹配的第一个值 在属性中

若找不到匹配项,或者列表为空,则返回undefined

.findWhere(公共服务普利策,{新闻编辑室:《纽约时报》); =>{年份:1918年,编辑室:《纽约时报》,理由:“为其公共服务,全文出版了这么多官方报告,
欧洲政治家关于进展的文件和讲话 以及战争的进行。”}

看起来您必须指定属性名称和属性值。在本例中,分别为“标签”和“GD”

试试这个:

var data = [{},{},
  {
   field:"ran",
   indexable:true,
   label:"R",
   options: [
   {},{},
    {
     category_value:"200",
     label:"GD"
    },{},{} // why so many initalized empty arrays?
    ]
  },{}
 ]


function getOption (name, value) {
    return _.findWhere(data.options, {label: "GD"}); // returns the whole array
    // try var result = _.findWhere(data.options, {label: "GD"});
    // then return result.category_value;
}

只是推荐了下面的url到一些相关的帖子。它可能对您有用,并且不使用额外的库:

如果有多个标签具有相同的名称怎么办?@sandepnayak这是我想用这个函数解释的问题,我很难弄清楚。任何输入?
仅获取第一个匹配项,而不获取后续匹配项。此问题解决了吗?如果没有,你能把问题简单一点吗?可能只是列出包含2-3项的输入和您想要的输出。数据对象内部将有多个标签,是否可以使用更动态的内容重新编写代码的
{label:“GD”}
部分?因为它可以接受任何名称,每个名称都有自己的标签。
function-getOption(name,value){return\uu.findWhere(data.options,{name:value});}
。这应该与格式getOption(“label”、“GD”)并行工作。测试的风险由您自己承担(因为我确信这个测试存在语法问题)。我用相同的标签和值为多个结果设置了第二个运动。还有一个“where”函数返回所有值。
var data = [{},{},
  {
   field:"ran",
   indexable:true,
   label:"R",
   options: [
   {},{},
    {
     category_value:"200",
     label:"GD"
    },{},{} // why so many initalized empty arrays?
    ]
  },{}
 ]


function getOption (name, value) {
    return _.findWhere(data.options, {label: "GD"}); // returns the whole array
    // try var result = _.findWhere(data.options, {label: "GD"});
    // then return result.category_value;
}