Javascript 使用jQuery.grep()筛选数据
我想过滤存储在.js中的数据。我尝试了jQuery.grep方法*,但仍在加载所有数据 资料 作用Javascript 使用jQuery.grep()筛选数据,javascript,jquery,Javascript,Jquery,我想过滤存储在.js中的数据。我尝试了jQuery.grep方法*,但仍在加载所有数据 资料 作用 var myFilter = $.grep(myData.features, function (element, index) { return element.properties.pays == "france"; }); for (var i=0;i<myFilter.length;i++) { ale
var myFilter = $.grep(myData.features, function (element, index) {
return element.properties.pays == "france";
});
for (var i=0;i<myFilter.length;i++) {
alert(myFilter[0].properties.pays + " " + myFilter[0].properties.nom);
};
这个语法有点问题,但我不知道在哪里
元素没有字段。您需要使用element.properties:
您是否在浏览器控制台中看到错误?是:ReferenceError:未为var i=0定义myFilter;方法签名jQuery.grep array,函数[,invert]似乎表明$.grep用于数组,而不是对象.Exact.filter是否更合适?正确,抱歉出错。但我的所有数据仍在加载。如果您说问题中的代码与您正在使用的代码不匹配,则需要编辑您的问题。如果他们不能重现你的问题,没有人能帮助你。当你说我的数据仍在加载时,我也不确定我是否理解。这到底是什么意思?对不起,我想说的是结果是一样的。但正如@PeterKA所说,jQuery.grep用于数组,而不是对象。。。逻辑……是的,jQuery.grep用于数组。也许@PeterKA没有注意到这一点,但您的myData.features是一个数组。
var myFilter = $.grep(myData.features, function (element, index) {
return element.properties.pays == "france";
});
for (var i=0;i<myFilter.length;i++) {
alert(myFilter[0].properties.pays + " " + myFilter[0].properties.nom);
};
var myFilter = $.grep(myData.features, function (element, index) {
return element.properties.pays == "france";
});