JavaScript 存储在一起相似的值

javascript store values that are similar together

本文关键字:相似 在一起 存储 JavaScript      更新时间:2023-09-26

我有一个从sql数据库中设置

的列表,如下所示
 Team     Name    Date Joined
 TeamA    David   June 3
 TeamB    Mike    July 2
 TeamC    Mark    June 7
 TeamA    Lisa    July 2
 TeamA    Stacy   June 7
 TeamB    Tracy   July 2
 TeamC    Joe     June 3

我希望能够存储列表并使用javascript打印团队A或TeamB或TeamC中的所有人员和日期。我不确定如何处理这个问题,正在考虑数组,但不要认为这不会达到我的目标,因为不确定如何将所有项目组合在一起......有人有想法吗

您可以将团队定义为对象数组:

var arr = [
 {"team":"TeamA", "name":"David"},
 {"team":"TeamB", "name":"Mike"},
 {"team":"TeamC", "name":"Mark"},
 {"team":"TeamA", "name":"Lisa"},
 {"team":"TeamA", "name":"Stacy"},
 {"team":"TeamB", "name":"Tracy"},
 {"team":"TeamC", "name":"Joe"}
]

它很灵活,您可以根据需要添加任意数量的团队/人员。然后,您可以定义一个简单的过滤器函数:

var teamFilter = function(obj) {
    return obj.team == this.criteria;
}

你可以调用它来创建新的过滤数组,如下所示:

arr.criteria = "TeamA";
var arrTeamA = arr.filter(teamFilter, arr);

演示:http://jsfiddle.net/6f2NN/

如果您只想存储每个团队成员的姓名,则可以使用以下内容:

var Teams = {
    TeamA: ["David", "Lisa", "Stacy"],
    TeamB: ["Mike", "Tracy"],
    TeamC: ["Mark", "Joe"]
};

如果要将这些值打印到浏览器控制台中

for (team in Teams){
    console.log(team+" : "+Teams[team].join(", "));
}