javascript - 使用关键字过滤多维 JS 数组

标签 javascript jquery

我有一个如下所示的数组:

[['place', '1', '-2'],['place2', '1', '-2'],['place3', '1', '-3']]

我想使用 onClick 中的关键字过滤它,所以它看起来像这样:

[['place', '1', '-2'],['place2', '1', '-2']]

如果我的过滤器是-2。

我现在使用的代码是(其中对象是被过滤的变量):

return $.map(object, function (item, key) {
   if (item[0] === value) {
       return item;
   }
});

然后我使用以下方式调用它:

var markers = results(filter);

但是我得到的结果是空白的。

希望我说得有道理,如果不是,我很抱歉,请告诉我,我可以尝试澄清。

最佳答案

您可以使用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);

关于javascript - 使用关键字过滤多维 JS 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40196706/

相关文章:

javascript - 在 JavaScript 中使用 PHP 的值

javascript - 使用 JQuery 检查随机复选框

javascript - 如何修复/解决 CSS3 Transitions 的 transitionend 事件的浏览器实现中的不一致?

javascript - 编辑 css :after with jQuery . siblings()

javascript - 如何阻止事件在 jQuery 中冒泡?

javascript - 从第三方API获取固定数量的JSON对象

jquery - Jquery中的动态变量,选择ID与实际元素值相同的元素

php - 如何使用jquery(AJAX)从mysql表中逐行获取数据,用php编写查询?

javascript - 表上的更改事件在 IE 中失败

javascript - Angular : Looping and displaying all the value starting from specific $index in ng-repeat