मेरे पास डेटा की निम्नलिखित सरणी है।

const filterToolTips = [{
    remember_tip: 'some remember tip data.'
  },
  {
    background_tip: 'some background tip data'
  },
  {
    remember_on: 'some remember on tip data'
  },
  {
    remember_off: 'some remember off data.'
  },
  {
    background_on: 'some background on data '
  }
];

मैं अलग-अलग उपयोग के मामले के लिए प्रत्येक कुंजी पाठ प्राप्त करने का प्रयास कर रहा हूं। तो, मैं lodash का उपयोग कर रहा हूं, लेकिन, यह अपरिभाषित दिखा रहा है।

const toolText = get(filterToolTips,'remember_tip');
console.log('toolTipText', toolTipText); // 'toolTipText', undefined

मैंने भी find की कोशिश की।

कोई सुझाव?

0
Anilkumar iOS - ReactNative 19 जुलाई 2019, 10:43

1 उत्तर

सबसे बढ़िया उत्तर

अनुरोधित कुंजी के साथ किसी ऑब्जेक्ट को खोजने के लिए _.find() के साथ _.has() का उपयोग करें, और फिर मान लेने के लिए _.get() का उपयोग करें:

const filterToolTips = [{"remember_tip":"some remember tip data."},{"background_tip":"some background tip data"},{"remember_on":"some remember on tip data"},{"remember_off":"some remember off data."},{"background_on":"some background on data "}];

const key  = 'remember_tip';

const toolText = _.get(
  _.find(filterToolTips, o => _.has(o, key)),
  key
);

console.log(toolText);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

हालांकि, यह वास्तव में एक अजीब डेटा संरचना है, और आपको इसे बदलना चाहिए (या सर्वर के लोगों से आपको कुछ और उपयोगी भेजने के लिए कहें)। यह समाधान डेटा संरचना को मानचित्र में परिवर्तित करता है, और फिर मान प्राप्त करता है:

const filterToolTips = [{"remember_tip":"some remember tip data."},{"background_tip":"some background tip data"},{"remember_on":"some remember on tip data"},{"remember_off":"some remember off data."},{"background_on":"some background on data "}];

const tipsMap = new Map(Object.entries(Object.assign({}, ...filterToolTips)));

const key  = 'remember_tip';

const toolText = tipsMap.get(key);

console.log(toolText);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
1
Ori Drori 19 जुलाई 2019, 10:58