相关疑难解决方法(0)

如何从另一个数组的所有元素中过滤数组


我想了解从另一个元素的所有元素中过滤数组的最佳方法.我试过过滤器功能,但它没有告诉我如何给它我想要删除的值.
就像是:

var array = [1,2,3,4];
var anotherOne = [2,4];
var filteredArray = array.filter(myCallback);
// filteredArray should now be [1,3]


function myCallBack(){
    return element ! filteredArray; 
    //which clearly can't work since we don't have the reference <,< 
}
Run Code Online (Sandbox Code Playgroud)

如果过滤功能没用,你会如何实现?
编辑:我检查了可能的重复问题,它可能对那些容易理解JavaScript的人有用.检查得很好的答案让事情变得简单.

javascript arrays filter

102
推荐指数
8
解决办法
15万
查看次数

过滤任何属性包含值的对象数组

我想知道什么是最干净的方法,根据a过滤对象数组的更好方法string keyword.必须在对象的任何属性中进行搜索.

当我输入时,lea我想通过所有对象及其所有属性来返回包含的对象lea

当我输入时,italy我想通过所有对象及其所有属性来返回包含的对象italy.

我知道tere有很多解决方案,但到目前为止我只看到了一些你需要指定你想要匹配的属性.

ES6lodash欢迎!

  const arrayOfObject = [{
      name: 'Paul',
      country: 'Canada',
    }, {
      name: 'Lea',
      country: 'Italy',
    }, {
      name: 'John',
      country: 'Italy',
    }, ];

    filterByValue(arrayOfObject, 'lea')   // => [{name: 'Lea',country: 'Italy'}]
    filterByValue(arrayOfObject, 'ita')   // => [{name: 'Lea',country: 'Italy'}, {name: 'John',country: 'Italy'}]
Run Code Online (Sandbox Code Playgroud)

javascript arrays lodash

15
推荐指数
4
解决办法
2万
查看次数

在javascript中基于另一个数组过滤对象数组

我有一个对象数组

people = [
    {id: "1", name: "abc", gender: "m", age:"15" },
    {id: "2", name: "a", gender: "m", age:"25" },
    {id: "3", name: "efg", gender: "f", age:"5" },
    {id: "4", name: "hjk", gender: "m", age:"35" },
    {id: "5", name: "ikly", gender: "m", age:"41" },
    {id: "6", name: "ert", gender: "f", age:" 30" },
    {id: "7", name: "qwe", gender: "f", age:" 31" },
    {id: "8", name: "bdd", gender: "m", age:" 78" },
]
Run Code Online (Sandbox Code Playgroud)

我有另一个数组:

id_filter = [1,4,5,8]
Run Code Online (Sandbox Code Playgroud)

如果id匹配数组中的任何元素,我想过滤人的id_filter …

javascript arrays filter

11
推荐指数
4
解决办法
9244
查看次数

Javascript:按字符串数组过滤对象数组

我想知道是否有更优雅的方式来做到这一点.假设我有一个像这样的对象数组:

a = [
  {
    "id": "kpi02",
    "value": 10
  },
  {
    "id": "kpi02",
    "value": 30
  },
  {
    "id": "kpi02",
    "value": 11
  },
  {
    "id": "kpi02",
    "value": 33
  },
  {
    "id": "kpi03",
    "value": 1
  },
  {
    "id": "kpi03",
    "value": 0.5
  },
  {
    "id": "kpi04",
    "value": 0.5
  }
]
Run Code Online (Sandbox Code Playgroud)

现在我想要对id属性进行过滤,以返回在另一个数组中匹配的所有对象

var kpis = ["kpi03", "kpi02"];
Run Code Online (Sandbox Code Playgroud)

我想出了这个解决方案:

var b = [];
for (j in kpis) {
 for (i in a) { 
    if (a[i].id == kpis[j]) {
    b.push(a[i]);
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

来自R,这看起来有点复杂,有没有办法用 …

javascript arrays filter

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×4

javascript ×4

filter ×3

lodash ×1