मेरे पास विशिष्ट वस्तु है जिसे मुझे किसी अन्य सरणी से प्राप्त करने की आवश्यकता है जो hexCode है

यह वह डेटा है जिसे मैं फ़िल्टर कर रहा हूँ

{
  dateCreated: "2019-10-30 08:29:54 PM" 

  hexCode: "#ed4c67"

  id: 1

  leaveTag: "Vacation Leave"

  leaveTagColor: "Bara Red"
}
{
  dateCreated: "2019-10-30 08:30:05 PM"

  hexCode: "#ea2027"
  
  id: 2

  leaveTag: "Sick Leave"
  
  leaveTagColor: "Red Pigment"
}

यह वह डेटा है जहां मैं हेक्सकोड डालना चाहता हूं। और उपरोक्त डेटा के साथ तुलना करने के लिए leaveType को मैप करना। क्या यह संभव होगा?

{
  leaveType: "Emergency Leave"
  email: "sfe.bruce.logan@gmail.com"
  hexCode: ???
}
{
  leaveType: "Sick Leave"
  email: "sfe.bruce.logan@gmail.com"
  hexCode: ???
}
0
Alyssa Reyes 30 अक्टूबर 2019, 15:44

2 जवाब

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

बस सरणी मानचित्र का उपयोग करके मेरा दृष्टिकोण

const obj1 = [{
  dateCreated: "2019-10-30 08:29:54 PM",
  hexCode: "#ed4c67",
  id: 1,
  leaveTag: "Vacation Leave",
  leaveTagColor: "Bara Red"
},
{
  dateCreated: "2019-10-30 08:30:05 PM",
  hexCode: "#ea2027",
  id: 2,
  leaveTag: "Sick Leave",
  leaveTagColor: "Red Pigment"
}]


const obj2 = [{
  leaveType: "Emergency Leave",
  email: "sfe.bruce.logan@gmail.com",
  hexCode: null
},
{
  leaveType: "Sick Leave",
  email: "sfe.bruce.logan@gmail.com",
  hexCode: null
}]
const result = obj2.map(item => {
  const findedHex = obj1.find(o2item => o2item.leaveTag == item.leaveType)
  item.hexCode = findedHex && findedHex.hexCode || null;
  return item;

})
console.log(result)
0
David 30 अक्टूबर 2019, 13:01

आप बस नीचे की तरह एक लुकअप कर सकते हैं, लेकिन इस मामले में समय जटिलता अधिक है (हालांकि उच्च पठनीयता और कोई स्थान जटिलता नहीं)

या आप पहले डेटा सरणी से leaveType : hexCode प्रकार का नक्शा बना सकते हैं और फिर संबंधित मान खोजने के लिए मानचित्र का उपयोग कर सकते हैं और दूसरी सरणी भर सकते हैं। इस दृष्टिकोण के लिए @ कोडमैनियाक के उत्तर की जाँच करें।

const data = [{
  dateCreated: "2019-10-30 08:29:54 PM",
  hexCode: "#ed4c67",
  id: 1,
  leaveTag: "Vacation Leave",
  leaveTagColor: "Bara Red"
},
{
  dateCreated: "2019-10-30 08:30:05 PM",
  hexCode: "#ea2027",
  id: 2,
  leaveTag: "Sick Leave",
  leaveTagColor: "Red Pigment"
}]

const arr = [{
  leaveType: "Emergency Leave",
  email: "sfe.bruce.logan@gmail.com",
},
{
  leaveType: "Sick Leave",
  email: "sfe.bruce.logan@gmail.com"
}]

arr.forEach(leave => {
 const matchedLeave = data.find(lv => lv.leaveTag === leave.leaveType);
 if(matchedLeave) {
   leave.hexCode = matchedLeave.hexCode;
 }
});
 
console.log(arr);
0
Dhananjai Pai 30 अक्टूबर 2019, 12:51