मैंने एक सरणी से एक तत्व हटा दिया है। अब, मुझे यह प्रदर्शित करने की आवश्यकता है कि कौन सा आइटम हटा दिया गया है और शेष आइटम, लेकिन असफल रहे हैं। मान लीजिए, सरणी इस तरह दिखती है:

let person = ['Cercei','Snow','Arya','Sansa'] 

मैंने 'स्नो' और 'सेर्सी' को हटा दिया है। तो, मुझे दो चीजों को दो अलग-अलग नई सरणी में प्रदर्शित करने की आवश्यकता है।

delPerson = ['Cercei','Snow'] 
remArray = ['Arya','Sansa']

यह जावास्क्रिप्ट के साथ कैसे किया जा सकता है? मेरे आवेदन में, मेरे पास प्रत्येक नाम के साथ आइकन हटा दिया गया है ताकि मैं किसी भी नाम को हटा सकूं। मैं हटाए गए नाम और शेष नाम को दो अलग-अलग सरणी में प्राप्त करना चाहता हूं। कृपया मेरी मदद करें कि जावास्क्रिप्ट या लॉश का उपयोग करके ऐसा कैसे करें

मैं आपको अपना आवेदन कोड बताता हूं:

let person = personData.map(n => n.name) 
let remPerson = person.filter(p => person.indexOf(p) !== -1)

अब, व्यक्ति और रेमपर्सन सरणी समान मान दिखा रही है। लंबाई की तुलना करते समय यह समस्या पैदा कर रहा है।

0
user7411584 7 पद 2019, 01:57

1 उत्तर

आप ब्याह का उपयोग करके आइटम निकाल सकते हैं और दो अलग-अलग सरणियों का ट्रैक भी रख सकते हैं:

let personData  = [{name:'Cercei'},{name:'Snow'},{name:'Arya'},{name:'Sansa'}];
let person      = personData.map(n=>n.name);
let removeItems = ['Cercei','Snow'];
let delPerson   = [];

removeItems.forEach(item=>{
  delPerson.push( 
    ...person.splice( person.indexOf(item), 1 )
  )
});

console.log('delPerson: ', delPerson);
console.log('remaining: ', person);
0
Mike 7 पद 2019, 03:08