![](/img/trans.png)
[英]Checking whether something exists in a Javascript object with Jquery
[英]finding whether a value exists in a javascript object with jquery
我試圖確定一個對象是否包含一個特定的值,以便我可以確保不會追加我不止一次尋找的值並防止遞歸。
我已經嘗試了很多方法,但無法使其中任何一個工作:
data = [
{val:'xxx',txt:'yyy'},
{val:'yyy',txt:'aaa'},
{val:'bbb',txt:'ccc'}
];
console.log(jQuery.grep(data, function(obj){
return obj.txt === "ccc";
}));
$.map(data, function(el) {
if(el.txt === 'ccc')
console.log('found')
});
這可以用map()grep()或inArray()來完成,還是我真的需要遍歷整個數組來尋找值?
data
是一個包含多個對象的數組,因此您需要指定要查看的數組的索引:
data[0].val === 'xxx';
data[1].val === 'yyy';
data[2].txt === 'ccc';
作為對您的函數的更新, $.each
什么問題? 你有地圖或grep的反正循環,所以你可能也只是說實話吧:P你可以帶環for
為好,但我與exampling $.each
因為它幾乎等同於當前的代碼。
$.each(data, function(el) {
if(el.txt === 'ccc')
console.log('found')
});
您將不得不迭代整個數組,因為它是一個對象數組,比較對象是由引用而不是由值完成的。
for (var i = 0; i < data.length; i++){
if (data[i].val == 'something')
doSomething();
}
如果你想自己避免所有這些計算,有一個實用程序插件underscore.js ,它有很多幫助器。
你正在尋找的幫手之一http://underscorejs.org/#contains 。
var stExist=$.inArray(reqelement, dataArray)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.