Поиск в многомерном объекте/массиве 
		
		
		
		Всем привет! 
	Помогите решить такую проблему: Есть массив: 
var people = [
  { "name": "bob", "dinner": "pizza" },
  { "name": "john", "dinner": "sushi" },
  { "name": "john", "dinner": "hummus" }
];
Необходимо сделать поиск с созданием нового массива >john // => [{ "name": "john", "dinner": "sushi" }, { "name": "john", "dinner": "hummus" }] Делаю так: 
people.filter(function (person) { return person.name== "john" });
Но если регистр букв разный, то ничего не находит. С помощью .toUpperCase() ошибку выдает, и вообще в данном примере поиск ведется только по имени, а надо чтоб искало по всем объектам.  | 
	
		
 tk.stas, 
	Цитата: 
	
 
<script>
var people = [
  { "name": "bob", "dinner": "pizza" },
  { "name": "john", "dinner": "sushi" },
  { "name": "john", "dinner": "hummus" }
];
var str = "john"
var obj = people.filter(function (person) { return person.name.toUpperCase() == str.toUpperCase() });
document.write(JSON.stringify(obj, null, 4))
</script>
 | 
	
		
 Цитата: 
	
 
<script>
var people = [
  { "name": "bob", "dinner": "pizza" },
  { "name": "john", "dinner": "sushi" },
  { "name": "john", "dinner": "hummus" }
];
var str = "sushi";
var obj = people.filter(function (person) { return Object.values(person).some(function(val) {
  return val.toUpperCase() == str.toUpperCase()
})});
document.write(JSON.stringify(obj, null, 4))
</script>
 | 
	
		
 Цитата: 
	
 
var people = [
  { "name": "bob", "dinner": [ "sushi", "pizza" ] },
  { "name": "john", "dinner": "sushi" },
  { "name": "john", "dinner": "hummus" }
];
 | 
	
		
 tk.stas, 
	
<script>
var people = [
  { "name": "bob", "dinner": [ "sushi", "pizza" ] },
  { "name": "john", "dinner": "sushi" },
  { "name": "john", "dinner": "hummus" }
];
var str = "sushi";
function fn(obj) {
  return Object.values(obj).some(function(val) {
  if(Array.isArray(val)) return fn(val);
  return val.toUpperCase() == str.toUpperCase()
})
}
var obj = people.filter(fn);
document.write(JSON.stringify(obj, null, 4))
</script>
 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 tk.stas, 
	return (val + '').toUpperCase() == (str + '').toUpperCase()  | 
| Часовой пояс GMT +3, время: 03:05. |