如何使用 javascript 过滤 forEach 循环中的结果

Jon*_*ork -1 javascript arrays foreach

我很难弄清楚如何迭代数组并且仅在找到特定值时才执行某些操作。

任何帮助是极大的赞赏。

我的想法是:

ForEach Entry, Where X = Y {
 console.log('I did something');
}
Run Code Online (Sandbox Code Playgroud)

实际数据:

[{
    "id" : 0,
    "fullName" : "George",
    "email": "george@test.ca",
    "group": 'Faculty',
    "totalFiles": 12,
    "outstandingFiles": 10,

},
{
    "id" : 1,
    "fullName" : "Albert",
    "email": "albert@test.ca",
    "group": 'Student',
    "totalFiles": 15,
    "outstandingFiles": 8,
}];
Run Code Online (Sandbox Code Playgroud)

Saj*_*ran 5

有很多选项可以在没有 foreach 的情况下过滤值,您可以使用 find 它将返回第一个匹配的值

var myArray = [{
    "id" : 0,
    "fullName" : "George",
    "email": "george@test.ca",
    "group": 'Faculty',
    "totalFiles": 12,
    "outstandingFiles": 10,

},
{
    "id" : 1,
    "fullName" : "Albert",
    "email": "albert@test.ca",
    "group": 'Student',
    "totalFiles": 15,
    "outstandingFiles": 8,
}];

var result = myArray.find(t=>t.group =='Faculty');
console.log(result);
Run Code Online (Sandbox Code Playgroud)

编辑

var myArray = [{
    "id" : 0,
    "fullName" : "George",
    "email": "george@test.ca",
    "group": 'Faculty',
    "totalFiles": 12,
    "outstandingFiles": 10,

},
{
    "id" : 1,
    "fullName" : "Albert",
    "email": "albert@test.ca",
    "group": 'Student',
    "totalFiles": 15,
    "outstandingFiles": 8,
}];

 myArray.filter(t=>t.group =='Faculty').forEach(result => console.log(result));
 
Run Code Online (Sandbox Code Playgroud)