2016-03-25 5 views

Antwort

0

Verwenden Sie for-in Schleife, um durch object zu durchlaufen. Wenn die gesuchte Zeichenfolge in der Zielzeichenfolge indexOf größer als -1 ist, ist der Suchwert in der Zeichenfolge vorhanden.

Versuchen Sie folgendes:

var input = { 
 
    "100": "Jaipur", 
 
    "101": "Delhi", 
 
    "102": "Raipur", 
 
    "104": "Goa" 
 
}; 
 
var needle = "pur"; 
 
var op = {}; 
 
for (var i in input) { 
 
    if (input[i].indexOf(needle) > -1) { 
 
    op[i] = input[i]; 
 
    } 
 
} 
 
console.log(op);
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>

0

ich kleine Funktion geschrieben, vielleicht ist es Ihnen

var data = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"}; 

function search(data, text){ 
    var items = {}; 
    for(var i in data){ 
    if(data.hasOwnProperty(i) && data[i].indexOf(text) !== -1){ 
     items[i] = data[i]; 
    } 
    } 
    return items; 
} 

console.log(search(data, 'pur')); 

Versuchen Sie es in Geige hilft: https://jsfiddle.net/oe9kc8ne/

0

können Sie iterieren mit Array#forEach über die Schlüssel des Objekts und führen Sie eine String#match und wenn gefunden, fügen Sie die Eigenschaft zum Ergebnisobjekt.

var data = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"}, 
 
    result = function (data, search) { 
 
     var r = {}; 
 
     Object.keys(data).forEach(function (k) { 
 
      if (data[k].match(search)) { 
 
       r[k] = data[k]; 
 
      } 
 
     }); 
 
     return r; 
 
    }(data, 'pur'); 
 

 
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');