हमारे पास संख्या लिटरल की एक सरणी है, और हमें एक फ़ंक्शन लिखना है, मान लीजिए splitDigit(), जो इस सरणी को लेता है और संख्याओं की एक सरणी लौटाता है जहाँ 10 से बड़ी संख्याओं को एकल अंकों में विभाजित किया गया हो।
उदाहरण के लिए:
// यदि इनपुट है: const arr = [94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106] // तो आउटपुट होना चाहिए: const output = [9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6];
आइए इस फ़ंक्शन के लिए कोड लिखते हैं, हम संख्याओं को विभाजित करने के लिए Array.prototype.reduce() मेथड का उपयोग करेंगे:
उदाहरण
const arr = [94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106]
const splitNum = (n, res = []) => {
if (n) {
return splitNum(Math.floor(n / 10), [n % 10].concat(res));
}
return res;
};
const splitDigit = (arr) => {
return arr.reduce((acc, val) => acc.concat(splitNum(val)), []);
};
console.log(splitDigit(arr));
आउटपुट
कंसोल में आउटपुट होगा:
[ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6 ]