इस फ़ंक्शन को कम करने पर एक त्रुटि संदेश प्राप्त करना

पहले यह था

const populationTotal = 0;
let populationTotal = zooAnimals.reduce((populationTotal, populationAmount) => {
  return populationTotal + populationAmount.population;
}, 0);

console.log(populationTotal);

अभी यह कोशिश कर रहा है

const populationTotal = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (populationTotal, 10) => populationTotal +

console.log(populationTotal.reduce(reducer));

सिंटैक्स त्रुटि की त्रुटि प्राप्त करना: प्रतिद्वंद्विता को असाइन करना (190:34)

0
Jonaahfire 25 मई 2019, 01:49

1 उत्तर

सबसे बढ़िया उत्तर
  1. आप populationTotal को const के रूप में परिभाषित करते हैं और फिर इसे फिर से परिभाषित करने का प्रयास करते हैं और इसके लिए एक मान सेट करते हैं। ऐसा नहीं है कि const काम करता है। आप केवल उस लाइन पर मूल्य निर्धारित कर सकते हैं जहां आप इसे परिभाषित करते हैं।

  2. Array.reduce एक के साथ काम करता है accumulator, current value, index और array पैरामीटर लेकिन यह मुख्य रूप से पहले दो के साथ प्रयोग किया जाता है। यह अपने अंतिम पैरामीटर के रूप में संचायक के लिए एक डिफ़ॉल्ट मान को भी स्वीकार करता है:

रेड्यूसर फ़ंक्शन चार तर्क लेता है:

  • संचायक (एसीसी)
  • वर्तमान मूल्य (कर)
  • वर्तमान सूचकांक (आईडीएक्स)
  • स्रोत सरणी (src)
let data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

// Used all four parameters but they are not needed specifically in this case, Just for illustration purposes
let result = data.reduce((acc, cur, idx, src) => acc + cur, 0)

console.log(result)

यदि आप रेड्यूसर को बाहर एक अलग फ़ंक्शन के रूप में परिभाषित करना चाहते हैं तो आप यह भी कर सकते हैं:

const data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (acc, curr) => acc + curr

console.log(data.reduce(reducer, 0));
0
Akrion 24 मई 2019, 23:02