Показать сообщение отдельно
  #6 (permalink)  
Старый 05.02.2019, 20:01
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 41

Сообщение от рони Посмотреть сообщение
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>
Работает! Но оказывается что .toUpperCase() не работает с числами, т.е. если в массиве есть, например, id: 1549380976705, то выдает ошибку.
Ответить с цитированием