Filter для вложенных массивов

255
01 мая 2017, 03:02

Есть структура объекта такая, Как я могу сделать поиск простой через filter или подобные конструкции чтобы к он вернул тот же массив, только с language = rus, удалив к примеру только массив c language = eng, делаю это вложенным циклом и методом splice, что то как то не эффективно это для js.

[
 {
    id: 40,
    code: 5345,
    "dictor": {
              "id": 545,
               "values": [
                         {
                           "id": 6345,
                           "language": "rus"
                         },
                         {
                           "id": 634335,
                           "language": "eng"
                         }
                         ]
                }            
         }
},     {
      id: 40,
    code: 5345,
    "dictor": {
              "id": 545,
               "values": [
                         {
                           "id": 6345,
                           "language": "rus"
                         },
                         {
                           "id": 634335,
                           "language": "eng"
                         }
                         ]
                }            
      }

}

Answer 1

var data = [{ 
  id: 40, 
  code: 5345, 
  dictor: { 
    id: 545, 
    values: [ 
      { id: 6345, language: 'rus' }, 
      { id: 634335, language: 'eng' } 
    ] 
  }             
}, { 
  id: 40, 
  code: 5345, 
  dictor: { 
    id: 545, 
    values: [ 
      { id: 6345, language: 'rus' },  
      { id: 634335, language: 'eng' } 
    ] 
  }             
}]; 
 
 
function filterByLanguage(data, language) { 
  return data.filter(function(record) { 
    record.dictor.values = record.dictor.values.filter(function(item) { 
      return item.language === language; 
    }); 
    return record.dictor.values.length;  
  });   
} 
 
var result = filterByLanguage(data, 'rus'); 
 
console.log(result);

READ ALSO
localstorage не очищается

localstorage не очищается

никак не очищается localstorage всегда хранит ключ и значение, хотя хром показывает что localstorage пуст, вывожу консолелог

282
Javascript Switch to if-else

Javascript Switch to if-else

Помогите поменять форму Switch на if-else: я сделал скрипт чтоб компьютер создал четыре цифры рандомно(от 1 до 9) и добавил их в массив arr потом в <input>...

329
AJAX запрос ошибка

AJAX запрос ошибка

Как произвести ajax запрос? При простейшем коде выдает ошибку:

307