按名称查找 jquery 数组

Find id by Name Jquery arrays

本文关键字:jquery 数组 查找      更新时间:2023-09-26

我有一组学生(所有ID都是唯一的):

[Object {ID: 1, "John"}, Object  {ID: 2, "Joseph"} ]

["John","Ram"]还有另一个字符串数组(我们称之为"数组 2")。如何找到姓名在数组 2 中的学生的 ID(不考虑大小写,即不区分大小写)?

编辑:删除jQuery并修复区分大小写的问题。请注意,由于在Array.prototype上使用map()forEach()indexOf(),因此这不再与IE8兼容。

沿着这些思路可以解决问题:

var names = ['John', 'Joe', 'Ralph'],
    data = [
        {
            id: 1,
            name: 'John'
        },
        {
            id: 2,
            name: 'Joseph'
        },
        {
            id: 3,
            name: 'ralph'
        }
    ],
    results = [];
var lnames = names.map(function(name) {
    return name.toLowerCase();
});
data.forEach(function(item) {
    if (lnames.indexOf(item.name.toLowerCase()) > -1) {
        results.push(item.id);
    }
});
console.log('found: ', results);

下面是一个实时示例:http://jsfiddle.net/6ptz3/2/