如何解决如何解析一个JS数组?
| 我有以下信息: 城市名称,在本例中为Littelside。它存储在变量“ 0”中 我有一个{}对象数组。每个都包含地址,城市,名称,州和邮政编码[{\"address\":\"07288 Albertha Station\",**\"city\":\"Littelside\"**,\"created_at\":\"2011-05-25T19:24:51Z\",\"id\":1,\"name\":\"Mr. Emmitt Emmerich\",\"state\":\"Missouri\",\"updated_at\":\"2011-05-25T19:24:51Z\",\"zip\":\"75475-9938\"},{NEXT OBJECT WITH ADDRESS CITY ETC}]
如何使用“ 0”作为搜索词来解析数组,并返回具有匹配城市的数组的地址,城市,州,名称和邮政编码?
谢谢!
解决方法
var myarr = [{\"address\":\"07288 Albertha Station\",\"city\":\"Littelside\",\"created_at\":\"2011-05-25T19:24:51Z\",\"id\":1,\"name\":\"Mr. Emmitt Emmerich\",\"state\":\"Missouri\",\"updated_at\":\"2011-05-25T19:24:51Z\",\"zip\":\"75475-9938\"}];
var city = \'Littelside\';
$.each(myarr,function(key,value){
if(value[\'city\']== city){
alert(\'hello\');
}
})
这是一个工作示例
,您要查找的功能是$.grep()
。
var city=\'Littelside\';
var cucc=$.grep(your_array,function (a) {
return a.city==search;
})[0];
$.grep
仍将返回一个数组,其中所有满足过滤器功能的元素。在这里,我使用ѭ7来获得第一个结果,如果您确定会有一个结果,这很好。因此ѭ8将拥有您要寻找的整个对象。
jsFiddle演示
,我使用的功能。
function arrayIndexOfProp(arr,prop,obj) {
var i = arr.length;
while (i--) {
if (arr[i] && arr[i][prop] === obj) {
return i;
}
}
return -1;
}
var index = arrayIndexOfProp(theArray,\"city\",\"Littelside\");
// do stuff with theArray[index]
,Array.prototype.reduce如
Array.prototype.reduce(
function (prev,current) {
return prev || current.city === \"Littelside\" ? current : null;
})
,循环遍历数组,直到找到与the_array[i].city
匹配的数组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。