У меня есть данные, которые мне не нужны:
title: {'en-US': 'Example Title}
Я хочу создать функцию, которая превращает все объекты локализации в строку.
title: 'Example Title'
Какие методы lodash будут полезны для этого?
Согласно данным вашего примера, вы можете использовать _.mapValues() с именем свойства перевода, который вы хотите:
_.mapValues()
const data = { title: {'en-US': 'Example Title'} } const result = _.mapValues(data, 'en-US') console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
Предполагая, что у вас есть массив объектов с этой структурой, и все местоположения могут быть разными, вот как вы можете подойти к нему с помощью lodash:
const data = [{id:11,title:{'en-US':'Example Title 11'}},{id:12,title:{'tr-TR':'Example Title 12'}},{id:13,title:{'en-GB':'Example Title 13'}}]; function removeLocation(data) { return _.map(data, obj => { const key = _.keys(obj.title)[0]; return { ...obj, title: obj.title[key] }; }); } console.log(removeLocation(data));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
Но если вы собираетесь это сделать, вы можете сэкономить несколько КБ и использовать собственные методы JS:
const data = [{id:11,title:{'en-US':'Example Title 11'}},{id:12,title:{'tr-TR':'Example Title 12'}},{id:13,title:{'en-GB':'Example Title 13'}}]; function removeLocation(data) { return data.map(obj => { const key = Object.keys(obj.title)[0]; return { ...obj, title: obj.title[key] }; }); } console.log(removeLocation(data));