मुझे मदद की ज़रूरत है! मैं एक सरणी पर लूप के लिए उपयोग करना चाहता हूं ताकि यह शीर्षकों की तलाश कर सके, मेरे पास एक साधारण जोड़ें TODO फॉर्म इनपुट है और मैंने इसे टोडोस या टोडोस के शीर्षकों को सबमिट और पुश किया है,

  todos.push({ title: req.body.add_todo_input, complete: false });

मैं इस लाइन का उपयोग उपयोगकर्ताओं के इनपुट / टोडो को सरणी में धकेलने के लिए करता हूं, फिर मैं वेबपेज <%= todos.title %> पर परिणाम दिखाने के लिए ईजेएस का उपयोग करता हूं, मैंने फैसला किया कि क्यों न एक लूप बनाया जाए जो सरणी पर लूप हो ताकि मैं कुछ सशर्त जोड़ सकते हैं यदि कथन यह देखने के लिए जाँच करते हैं कि क्या सरणी के अंदर कोई भी शीर्षक समान इनपुट के बराबर है, और यदि ऐसा है तो todos और कंसोल को धक्का न दें इस संदेश को लॉग करें (" Error: TODO already exists ")

0
Alex Purcell 13 जुलाई 2021, 05:38

3 जवाब

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

इसे प्राप्त करने के लिए आप some() विधि का उपयोग कर सकते हैं। some, true लौटाता है, जब उसे कोई ऐसा तत्व मिलता है जिसके लिए दिया गया फ़ंक्शन true लौटाता है, अन्यथा वह false वापस आ जाएगा।

 const addTodo = (todos, newItem) => {
  const isTodoPresent = todos.some((todo) => todo.title === newItem);
  if (isTodoPresent) {
    console.log(' Error: TODO already exists ');
    return todos;
  }
  return todos.concat({ title: newItem, completed: false });
};

todos = addTodo(todos, req.body.add_todo_input);
0
Dream 13 जुलाई 2021, 03:42

आप शीर्षक खोजने के लिए ऐरे की includes() विधि का उपयोग कर सकते हैं

const pets = [{ title: 'cat'}, { title: 'dog'}, { title: 'bat'}];

console.log(pets.includes(t=> t.title === 'dog'));
// expected output: true
1
Mark Dreyer 13 जुलाई 2021, 02:49

एक शीर्षक के साथ टूडू का पता लगाएं नीचे की तरह एक सरणी में मौजूद हैं

let todo = [{title: "abc"}, {title: "def"}]
function addTodo(title) {
  let x = todo.find(item => item.title == title)
  if (x) {
    console.log("todo already present")
  } else {
    todo.push({title: title})
  }
}

जब आप टूडू सूची में नया आइटम जोड़ते हैं तो उपरोक्त फ़ंक्शन का उपयोग करें

addTodo("abc")

अब "abc" पहले से मौजूद है इसलिए यह कंसोल में त्रुटि दिखाता है

addTodo("xyz")

अब इस बार "xyz" को टूडू लिस्ट में जोड़ा जाएगा

1
Gaurav Patil 13 जुलाई 2021, 03:54