我有一系列学生(所有ID都是唯一的):
[Object {ID: 1, "John"}, Object {ID: 2, "Joseph"} ]
我有另一个字符串数组["John","Ram"]
(我们称之为“数组2”)。
如何在阵列2中找到名字所在的学生的ID(不考虑大小写,即不区分大小写)?
答案 0 :(得分:1)
编辑:删除jQuery并修复区分大小写的问题。请注意,由于在map()
上使用了forEach()
,indexOf()
和Array.prototype
,因此no longer compatible with 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/