我有一群学生(所有 ID 都是唯一的):
[Object {ID: 1, "John"}, Object {ID: 2, "Joseph"} ]
我有另一个字符串数组["John","Ram"]
(我们称之为“数组 2”)。我怎样才能找到名字在数组 2 中的学生的 ID(不考虑大小写,即不区分大小写)?
我有一群学生(所有 ID 都是唯一的):
[Object {ID: 1, "John"}, Object {ID: 2, "Joseph"} ]
我有另一个字符串数组["John","Ram"]
(我们称之为“数组 2”)。我怎样才能找到名字在数组 2 中的学生的 ID(不考虑大小写,即不区分大小写)?
编辑:删除 jQuery 并修复区分大小写的问题。请注意,由于使用,和on ,这不再与 IE8 兼容。map()
forEach()
indexOf()
Array.prototype
这些方面的东西可以解决问题:
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/