我有一个如下所示的数组:
[['place', '1', '-2'],['place2', '1', '-2'],['place3', '1', '-3']]
我想使用onClick中的关键字对其进行过滤,因此它看起来像这样:
[['place', '1', '-2'],['place2', '1', '-2']]
如果我的过滤器是例如-2。
我现在使用的代码是(其中object是被过滤的变量):
return $.map(object, function (item, key) {
if (item[0] === value) {
return item;
}
});
然后我用它来调用它:
var markers = results(filter);
但我得到的结果是空白的。
希望我有意义,如果不是我很抱歉请告诉我,我可以尝试澄清。
答案 0 :(得分:0)
试试这个
var places = [['place', '1', '-2'],['place2', '1', '-2'],['place3', '1', '-3']]
var result = places.filter(place => place[2] === '-2')
console.log(result) // [['place', '1', '-2'],['place2', '1', '-2']]
答案 1 :(得分:0)
您可以使用Array#filter
并返回已过滤的项目。
var data = [['place', '1', '-2'], ['place2', '1', '-2'], ['place3', '1', '-3']],
filtered = data.filter(function (a) {
return a[2] === '-2';
});
console.log(filtered);
搜索具有给定字符串的任何项目
var data = [['place', '1', '-2'], ['place2', '1', '-2'], ['place3', '1', '-3']],
filtered = data.filter(function (a) {
return a.some(function (b) {
return b === '-2';
});
});
console.log(filtered);
ES6,搜索具有给定字符串的任何项目
var data = [['place', '1', '-2'], ['place2', '1', '-2'], ['place3', '1', '-3']],
filtered = data.filter(a => a.some(b => b === '-2'));
console.log(filtered);