基于使用其他值查找数组中的Object,返回某个Object的值

时间:2015-09-16 18:11:43

标签: javascript underscore.js

正在使用的技术:js,jquery,angular和underscore。我有一个对象0-4的数组。每个对象有2个值对“num:it's value”和“text:it's value”。所以......

var arr = [
    {
        num: '1',
        text: 'First Place'
    },
    {
        num: '2',
        text: 'Second place'
    },
    ...
];

现在我拥有所选对象的num,但我需要切换到文本。

这是有效的 - “对象0 | num:1”在变量(selectedNum)中选择了存储1。如何基于selectedNum进行编码,找到具有1的对象,并将所述对象的文本返回到变量selectedText。

使用underscore.js。

的首选答案

2 个答案:

答案 0 :(得分:2)

findWhere会这样做:

  

查看列表并返回与所有匹配的第一个值   属性中列出的键值对。

mvtnorm

<强>更新

您也可以使用find(请参阅fiddle)。

答案 1 :(得分:0)

终于明白了 - http://jsfiddle.net/gJPHw/262/

我仍然希望使用._find解决它,但这可行。

var arrayOfFun = [
    { name:"string 1", code:"1" },
    { name:"string 2", code:"2" }
];

var selectedKey = arrayOfFun.filter(function ( selectedKey ) {
    return selectedKey.code === '1';
})[0];

console.log(selectedKey.name);