Miu*_*shi 0 javascript arrays jquery google-maps-api-3
我试图找到一个对象是否包含某个值,然后指示该操作的后续步骤.这是从Google Maps API返回的对象.这是从API返回的确切示例.
排列
[{'long_name': 'United States', 'short_name': 'US'}, {'long_name': 'California', 'short_name': 'CA'}];
Run Code Online (Sandbox Code Playgroud)
有条件/检查
if( $.inArray('US', array) == -1 ){
alert('Your country is not supported.');
} else {
alert('Your country is supported.');
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为它只查看索引,而不是我认为的值.如果数组中存在值,那么查找和返回的最简洁,最快捷的方法是什么?
要查找匹配项,您可以使用jQuery.grep():
var res = $.grep(arr, function(item) {
return item.short_name == 'US';
});
Run Code Online (Sandbox Code Playgroud)
它返回一个数组,如果找不到匹配项,它将为空.
或者,您可以使用Array.prototype.filter():
var res = arr.filter(function(item) {
return item.short_name == 'US';
});
Run Code Online (Sandbox Code Playgroud)
您可以进一步概括:
function searchFunction(field)
{
return function(arr, term) {
return arr.filter(function(item) {
return item[field] == term;
};
};
}
var searchByShortName = searchFunction('short_name');
if (searchByShortName(arr, 'US').length) {
// ..
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |