I have JSON look like this
[{\"id\":\"7\",\"name\":\"hello\",\"username\":\"hell7s692\",\"password\":\"dAggzyFMnBXq3RjoTWoJ3ndBkGhyU6njT2ZPlNfXVV8+XU3vvrTaULUA
Instead of using _.matches(), you can use _.startsWith() to match the first n-characters you need to. For example, if you want to match name starting with 'he', you can do something like this:
var result = [{
name: 'hello'
}, {
name: 'healthy'
}];
_.filter(result, function(obj) {
return _.startsWith(obj.name, 'he');
});
This should match both.
You can also use regular expression to match them:
_.filter(result, function(obj) {
return obj.name.search(/he/i) === 0; // i = ignore case
});
'i' in '/he/i' means ignore case, so this will match name = 'Hello' also.
search() returns the 1st position of the pattern it found, it returns -1 if not found. So if you need to find a pattern anywhere in a string instead of starting from the beginning, you can check for search() >= 0. So
_.filter(result, function(obj) {
return obj.name.search(/he/i) >= 0;
});
will match 'hello', 'shell', 'healthy', 'the', and etc