如何在数组中搜索以查看值是否存在?
- var fruitVarietyChecked = $('input[name=fruitVariety]:checked').val();
- $.getJSON('getdata.PHP',{fruitVariety: fruitVarietyChecked},function(fruittype) {
- var html = '';
- $.each(fruittype,function(index,array) {
- alert( "Key: " + index + ",Value: " + array['fruittype'] );
- //shows array - Key: 0,Value: special item
- //this is where the problem is
- if ($(array.has("special item"))){
- $("p").text("special item" + " found at " + index);
- return false;
- }
- html = html + '<label><input type="radio" name="fruitType" value="' + array['fruittype'] + '" />' + array['fruittype'] + '</label> ';
- });
- $('#fruittype').html(html);
- });
- }
到目前为止,我尝试过.is,.has,.getdata和.inarray,但它让我无处可去.
JSON调用返回:[{“fruittype”:“special item”},{“fruittype”:“blue”},{“fruittype”:“red”}]
解决方法
我认为这是一个语法错误:
更改if($(array.has(“special item”))){
至
更改if($(array.has(“special item”))){
至
- if ($.inArray("special item",array) > -1){
编辑:
如果数组有复杂的对象,那么就不能使用inArray,而是可以使用jQuery过滤器来实现相同的目的,例如:
- var filtered = $(array).filter(function(){
- return this.fruittype == "special item";
- });
- if(filtered.length > 0){