_。findwhere 总是让我未定义,当我用它来搜索具有数值作为数组的对象时。
var nameArray = [{name:'firstName',value : ['Amruta','Swapnil']},{name:'LastName',value : ['Pawar','shaikh']}]
var element = _.findWhere(nameArray,{value:'Amruta'});
console.log("element is " + element);
我将元素的价值视为不朽的而不是价值......
答案 0 :(得分:2)
findWhere
用于根据属性查找完全匹配的项目。在您的情况下,您正在尝试查找value
属性包含特定文本的项目。您可以通过将谓词作为第二个参数传递给find
来实现:
var nameArray = [{name:'firstName',value : ['Amruta','Swapnil']},{name:'LastName',value : ['Pawar','shaikh']}]
var element = _.find(nameArray,function(x){
return x.value.includes("Amruta")
});
console.log(element);

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
&#13;