如何检查jQuery .data()函数中是否存在值

可能重复:
如何使用jQuery在JavaScript数组中查找对象的索引

如果已经存在于.data()函数中,我需要找到输入的输入值。

我正在尝试这种方式。

jQuery的

var array = $("form[name=update]").data("values", {"v1": "value1", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"}); if ($.inArray("value1", array) > -1){alert("duplicate value")} 

但它什么都不做。

请查看并建议任何可能的方法来执行此操作。

谢谢。

这里

grep (不做对象)也不适用于我。

这是$ .each版本

DEMO

 $(function() { $("form[name=update]").data("values", {"v1": "value11", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"}); $(".but").on("click",function(e) { var fData = $("form[name=update]").data("values"); var val = $(this).val(); console.log(fData); $.each(fData, function(n,i) { console.log("!!!",n,i) if (i===val) { alert("duplicate value"); return false; } }) e.preventDefault() }); }); 

现在我看看,和danronmoon解决方案一样

DEMO

 $(function() { $("form[name=update]").data("values", {"v1": "value11", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"}); $(".but").on("click",function(e) { var fData = $("form[name=update]").data("values"); var val = $(this).val(); console.log(fData); for (var o in fData) { console.log("!!!",o,fData[o]) if (fData[o]===val) { alert("duplicate value"); break; } } e.preventDefault() }); }); 
 $("form[name=update]").data("values", {/* values here*/}); // then later var valueToLookFor = 'value1', formData = $("form[name=update]").data().values; for (var i in formData) { if (formData[i] === valueToLookFor) { // you found it! } }